ASCII (МФА[ˈæski], акронім від назви Американський стандартний код для інформаційного обміну, англ. American Standard Code for Information Interchange) в обчислювальній техніці — система кодів, у якій числа від 0 до 127 включно поставлені у відповідність літерам, цифрам і символам пунктуації. Наприклад, 45 відповідає знаку переносу, а 65 — літері «А» великій. Перші 32 коди використовуються для керівних функцій, на зразок введення і стирання попереднього символу. Власне, ASCII — це семибітний код, а восьмий біт часто використовується для забезпечення відповідності чи додаткових символів. Такий 8-бітний варіант коду називають розширеним ASCII.

95 друкованих символів ASCII з кодами від 32 до 126 (десяткові).

Система широко використовується для зберігання тексту і передачі інформації між комп'ютерами.

Символи розширеного ASCII діапазону друку ред.

 
Бінарне Дес. Шіст. Графічне
0010 0000 32 20 пропуск (␠)
0010 0001 33 21 !
0010 0010 34 22 "
0010 0011 35 23 #
0010 0100 36 24 $
0010 0101 37 25 %
0010 0110 38 26 &
0010 0111 39 27 '
0010 1000 40 28 (
0010 1001 41 29 )
0010 1010 42 2A *
0010 1011 43 2B +
0010 1100 44 2C ,
0010 1101 45 2D -
0010 1110 46 2E .
0010 1111 47 2F /
0011 0000 48 30 0
0011 0001 49 31 1
0011 0010 50 32 2
0011 0011 51 33 3
0011 0100 52 34 4
0011 0101 53 35 5
0011 0110 54 36 6
0011 0111 55 37 7
0011 1000 56 38 8
0011 1001 57 39 9
0011 1010 58 3A :
0011 1011 59 3B ;
0011 1100 60 3C <
0011 1101 61 3D =
0011 1110 62 3E >
0011 1111 63 3F ?
 
Бінарне Дес. Шіст. Графічне
0100 0000 64 40 @
0100 0001 65 41 A
0100 0010 66 42 B
0100 0011 67 43 C
0100 0100 68 44 D
0100 0101 69 45 E
0100 0110 70 46 F
0100 0111 71 47 G
0100 1000 72 48 H
0100 1001 73 49 I
0100 1010 74 4A J
0100 1011 75 4B K
0100 1100 76 4C L
0100 1101 77 4D M
0100 1110 78 4E N
0100 1111 79 4F O
0101 0000 80 50 P
0101 0001 81 51 Q
0101 0010 82 52 R
0101 0011 83 53 S
0101 0100 84 54 T
0101 0101 85 55 U
0101 0110 86 56 V
0101 0111 87 57 W
0101 1000 88 58 X
0101 1001 89 59 Y
0101 1010 90 5A Z
0101 1011 91 5B [
0101 1100 92 5C \
0101 1101 93 5D ]
0101 1110 94 5E ^
0101 1111 95 5F _
 
Бінарне Дес. Шіст. Графічне
0110 0000 96 60 `
0110 0001 97 61 a
0110 0010 98 62 b
0110 0011 99 63 c
0110 0100 100 64 d
0110 0101 101 65 e
0110 0110 102 66 f
0110 0111 103 67 g
0110 1000 104 68 h
0110 1001 105 69 i
0110 1010 106 6A j
0110 1011 107 6B k
0110 1100 108 6C l
0110 1101 109 6D m
0110 1110 110 6E n
0110 1111 111 6F o
0111 0000 112 70 p
0111 0001 113 71 q
0111 0010 114 72 r
0111 0011 115 73 s
0111 0100 116 74 t
0111 0101 117 75 u
0111 0110 118 76 v
0111 0111 119 77 w
0111 1000 120 78 x
0111 1001 121 79 y
0111 1010 122 7A z
0111 1011 123 7B {
0111 1100 124 7C |
0111 1101 125 7D }
0111 1110 126 7E ~
0111 1111 127 7F DEL

Варто звернути увагу що великі і маленькі літери англійської абетки відрізняються лише одним третім бітом: літера "A" представлена у вигляді 0100 0001, а літера "a" у вигляді 0110 0001. Щоб змінити літеру "A" на літеру "a" треба лише змінити третій біт з 0 на 1. Це можна легко зробити провівши операцію побітового OR цієї літери із числом 0010 0000 (32). Зворотню операцію перетворення маленької літери в велику можна провести за допомогою операції побітового AND з числом 1101 1111 (223). Також можна легко перетворити символ цифри у число взявши чотири останні біти, наприклад символ "9" представлений у вигляді 0011 1001. Якщо взяти останні чотири біти, то вийде 1001, що дорівнює 9 у десятковій системі. Це можна зробити взявши залишок від ділення символу на 1 0000 (16).

Інші назви ред.

Починаючи з липня 1992 реєстри RFC[1] та Internet Assigned Numbers Authority таблиць кодування[2] визнають такі еквівалентні назви ASCII незалежно від реєстру для використання в Інтернеті:

  • ANSI_X3.4-1968 (канонічна назва)
  • iso-ir-6
  • ANSI_X3.4-1986
  • ISO_646.irv:1991
  • ASCII (варіанти ASCII-7 та ASCII-8)
  • ISO646-US
  • US-ASCII (рекомендована назва MIME[2])
  • us
  • IBM367
  • cp367
  • csASCII

З цього переліку, IANA рекомендує використання «US-ASCII» для позначення ASCII в Інтернеті. Це позначення можна часто зустріти в необов'язковому параметрі «charset» (кодування) в заголовку Content-Type (тип вмісту) деяких MIME-повідомлень, у еквівалентних «meta» елементах HTML документів, та в частині визначення кодування прологу деяких XML документів.

Варіанти ред.

Юнікод ред.

Докладніше: Юнікод

Для забезпечення зворотної сумісності, символи з набору 128 ASCII та 256 ISO-8859-1 (Latin 1) мають такі ж коди Unicode/UCS як і в попередніх стандартах. Таким чином, ASCII можна розглядати як 7-бітну схему кодування дуже малої підмножини Unicode/UCS, і навпаки, UTF-8 сумісний з ASCII для кодів менше 128, із чого випливає, що правильно закодований ASCII файл є водночас і правильним файлом в кодуванні UTF-8.

Примітки ред.

  1. RFC 1345 (Липень 1992).
  2. а б Internet Assigned Numbers Authority (May 14, 2007). «Character Sets [Архівовано 16 липня 2004 у Wayback Machine.]». Accessed 2008-04-14.

Див. також ред.

Посилання ред.

  • Історія ASCII, коріння, та попередники, Том Дженінгс (29 жовтня 2004) (переглянуто 2005-12-17)
  • [[https://web.archive.org/web/20160526182105/http://www.unicode.org/charts/PDF/U0000.pdf Архівовано 26 травня 2016 у Wayback Machine.] Підмножина ASCII] кодування Unicode
  • Eric Fischer (25 березня 2009). The Evolution of Character Codes, 1874-1968 (англ.).