Таблица ASCII
ASCII назначает номер 128 символам — цифрам, латинским буквам без диакритики, распространённым знакам препинания и 33 управляющим кодам, которые никогда не предназначались для печати. Каждый из них перечислен ниже в десятичном, шестнадцатеричном, восьмеричном и двоичном виде, с номером HTML-сущности.
Первые 32 кода и последний — управляющие. Большинство из них исторические, из эпохи телетайпов и бумажной ленты, но несколько по-прежнему обеспечивают всё, что вы печатаете: 9 — это Tab, 10 — символ новой строки Unix, 13 — возврат каретки, который Windows использует вместе с ним, а 27 начинает каждую управляющую последовательность ANSI, которую ваш терминал использует для цвета.
ASCII — это первые 128 кодовых точек Unicode без изменений, поэтому он до сих пор остаётся общим знаменателем почти любой используемой кодировки. UTF-8 был разработан так, что любой чисто ASCII-файл уже является корректным UTF-8, байт в байт.
Управляющие коды#
0–31, 127| Дес. | Шестн. | Восьм. | Двоичный | Символ | HTML | Название |
|---|
| 0 | 00 | 000 | 00000000 | NUL | � | NullЗавершитель строки в C. Не печатаемый символ. |
| 1 | 01 | 001 | 00000001 | SOH |  | Начало заголовкаИсторическое; обрамлял заголовок блока передачи. |
| 2 | 02 | 002 | 00000010 | STX |  | Начало текстаИсторическое; отмечал начало тела сообщения. |
| 3 | 03 | 003 | 00000011 | ETX |  | Конец текстаОтправляется по Ctrl+C — вот почему эта клавиша прерывает программу. |
| 4 | 04 | 004 | 00000100 | EOT |  | Конец передачиОтправляется по Ctrl+D; закрывает stdin в оболочке Unix. |
| 5 | 05 | 005 | 00000101 | ENQ |  | ЗапросИсторическое; просил удалённую сторону представиться. |
| 6 | 06 | 006 | 00000110 | ACK |  | ПодтверждениеПоложительный ответ в старых последовательных протоколах. |
| 7 | 07 | 007 | 00000111 | BEL |  | ЗвонокЗвонит в терминальный звонок. Записывается как \a в C. |
| 8 | 08 | 010 | 00001000 | BS |  | BackspaceПеремещает курсор на один столбец назад. Записывается как \b. |
| 9 | 09 | 011 | 00001001 | HT | 	 | Горизонтальная табуляцияКлавиша Tab. Записывается как \t. |
| 10 | 0A | 012 | 00001010 | LF | | Перевод строкиСимвол новой строки Unix. Записывается как \n. |
| 11 | 0B | 013 | 00001011 | VT |  | Вертикальная табуляцияРедкий; переходит к следующей позиции вертикальной табуляции. Записывается как \v. |
| 12 | 0C | 014 | 00001100 | FF |  | Прогон страницыРазрыв страницы для принтеров. Записывается как \f. |
| 13 | 0D | 015 | 00001101 | CR | | Возврат кареткиВозвращает в первый столбец. В паре с LF в Windows. Записывается как \r. |
| 14 | 0E | 016 | 00001110 | SO |  | Shift OutИсторическое; переключал на альтернативный набор символов. |
| 15 | 0F | 017 | 00001111 | SI |  | Shift InИсторическое; переключал обратно на стандартный набор. |
| 16 | 10 | 020 | 00010000 | DLE |  | Data Link EscapeИсторическое; делал следующие байты управляющими данными. |
| 17 | 11 | 021 | 00010001 | DC1 |  | Управление устройством 1XON — возобновляет приостановленную передачу. Отправляется по Ctrl+Q. |
| 18 | 12 | 022 | 00010010 | DC2 |  | Управление устройством 2Историческое управление устройством. |
| 19 | 13 | 023 | 00010011 | DC3 |  | Управление устройством 3XOFF — приостанавливает передачу. Отправляется по Ctrl+S. |
| 20 | 14 | 024 | 00010100 | DC4 |  | Управление устройством 4Историческое управление устройством. |
| 21 | 15 | 025 | 00010101 | NAK |  | Отрицательное подтверждениеОтрицательный ответ в старых последовательных протоколах. |
| 22 | 16 | 026 | 00010110 | SYN |  | Синхронный простойЗаполнял тишину на синхронных каналах. |
| 23 | 17 | 027 | 00010111 | ETB |  | Конец блока передачиИсторическое; завершал один блок более длинного сообщения. |
| 24 | 18 | 030 | 00011000 | CAN |  | ОтменаОтбрасывает данные, отправленные перед ним. |
| 25 | 19 | 031 | 00011001 | EM |  | Конец носителяОтмечал физический конец ленты или колоды карт. |
| 26 | 1A | 032 | 00011010 | SUB |  | ЗаменаМаркер конца файла в DOS и CP/M. Отправляется по Ctrl+Z. |
| 27 | 1B | 033 | 00011011 | ESC |  | EscapeНачинает управляющую последовательность ANSI — цвета терминала и перемещения курсора. |
| 28 | 1C | 034 | 00011100 | FS |  | Разделитель файловСамый крупный из четырёх разделителей данных. |
| 29 | 1D | 035 | 00011101 | GS |  | Разделитель группРазделяет группы внутри файла. |
| 30 | 1E | 036 | 00011110 | RS |  | Разделитель записейРазделяет записи внутри группы. |
| 31 | 1F | 037 | 00011111 | US |  | Разделитель элементовСамый мелкий разделитель; иногда используется как разделитель полей. |
| 127 | 7F | 177 | 01111111 | DEL |  | DeleteВсе биты пробиты на бумажной ленте — поэтому он в самом верху. |
| Дес. | Шестн. | Восьм. | Двоичный | Символ | HTML | Название |
|---|
| 32 | 20 | 040 | 00100000 | |   | Пробел |
Знаки препинания и символы#
33–47, 58–64, 91–96, 123–126| Дес. | Шестн. | Восьм. | Двоичный | Символ | HTML | Название |
|---|
| 33 | 21 | 041 | 00100001 | ! | ! | Восклицательный знак |
| 34 | 22 | 042 | 00100010 | " | " | Кавычка |
| 35 | 23 | 043 | 00100011 | # | # | Знак номера |
| 36 | 24 | 044 | 00100100 | $ | $ | Знак доллара |
| 37 | 25 | 045 | 00100101 | % | % | Знак процента |
| 38 | 26 | 046 | 00100110 | & | & | Амперсанд |
| 39 | 27 | 047 | 00100111 | ' | ' | Апостроф |
| 40 | 28 | 050 | 00101000 | ( | ( | Левая круглая скобка |
| 41 | 29 | 051 | 00101001 | ) | ) | Правая круглая скобка |
| 42 | 2A | 052 | 00101010 | * | * | Звёздочка |
| 43 | 2B | 053 | 00101011 | + | + | Знак плюс |
| 44 | 2C | 054 | 00101100 | , | , | Запятая |
| 45 | 2D | 055 | 00101101 | - | - | Дефис-минус |
| 46 | 2E | 056 | 00101110 | . | . | Точка |
| 47 | 2F | 057 | 00101111 | / | / | Косая черта |
| 58 | 3A | 072 | 00111010 | : | : | Двоеточие |
| 59 | 3B | 073 | 00111011 | ; | ; | Точка с запятой |
| 60 | 3C | 074 | 00111100 | < | < | Знак «меньше» |
| 61 | 3D | 075 | 00111101 | = | = | Знак равенства |
| 62 | 3E | 076 | 00111110 | > | > | Знак «больше» |
| 63 | 3F | 077 | 00111111 | ? | ? | Вопросительный знак |
| 64 | 40 | 100 | 01000000 | @ | @ | Коммерческое at |
| 91 | 5B | 133 | 01011011 | [ | [ | Левая квадратная скобка |
| 92 | 5C | 134 | 01011100 | \ | \ | Обратная косая черта |
| 93 | 5D | 135 | 01011101 | ] | ] | Правая квадратная скобка |
| 94 | 5E | 136 | 01011110 | ^ | ^ | Циркумфлекс |
| 95 | 5F | 137 | 01011111 | _ | _ | Нижнее подчёркивание |
| 96 | 60 | 140 | 01100000 | ` | ` | Гравис |
| 123 | 7B | 173 | 01111011 | { | { | Левая фигурная скобка |
| 124 | 7C | 174 | 01111100 | | | | | Вертикальная черта |
| 125 | 7D | 175 | 01111101 | } | } | Правая фигурная скобка |
| 126 | 7E | 176 | 01111110 | ~ | ~ | Тильда |
| Дес. | Шестн. | Восьм. | Двоичный | Символ | HTML | Название |
|---|
| 48 | 30 | 060 | 00110000 | 0 | 0 | Цифра 0 |
| 49 | 31 | 061 | 00110001 | 1 | 1 | Цифра 1 |
| 50 | 32 | 062 | 00110010 | 2 | 2 | Цифра 2 |
| 51 | 33 | 063 | 00110011 | 3 | 3 | Цифра 3 |
| 52 | 34 | 064 | 00110100 | 4 | 4 | Цифра 4 |
| 53 | 35 | 065 | 00110101 | 5 | 5 | Цифра 5 |
| 54 | 36 | 066 | 00110110 | 6 | 6 | Цифра 6 |
| 55 | 37 | 067 | 00110111 | 7 | 7 | Цифра 7 |
| 56 | 38 | 070 | 00111000 | 8 | 8 | Цифра 8 |
| 57 | 39 | 071 | 00111001 | 9 | 9 | Цифра 9 |
| Дес. | Шестн. | Восьм. | Двоичный | Символ | HTML | Название |
|---|
| 65 | 41 | 101 | 01000001 | A | A | Заглавная буква A |
| 66 | 42 | 102 | 01000010 | B | B | Заглавная буква B |
| 67 | 43 | 103 | 01000011 | C | C | Заглавная буква C |
| 68 | 44 | 104 | 01000100 | D | D | Заглавная буква D |
| 69 | 45 | 105 | 01000101 | E | E | Заглавная буква E |
| 70 | 46 | 106 | 01000110 | F | F | Заглавная буква F |
| 71 | 47 | 107 | 01000111 | G | G | Заглавная буква G |
| 72 | 48 | 110 | 01001000 | H | H | Заглавная буква H |
| 73 | 49 | 111 | 01001001 | I | I | Заглавная буква I |
| 74 | 4A | 112 | 01001010 | J | J | Заглавная буква J |
| 75 | 4B | 113 | 01001011 | K | K | Заглавная буква K |
| 76 | 4C | 114 | 01001100 | L | L | Заглавная буква L |
| 77 | 4D | 115 | 01001101 | M | M | Заглавная буква M |
| 78 | 4E | 116 | 01001110 | N | N | Заглавная буква N |
| 79 | 4F | 117 | 01001111 | O | O | Заглавная буква O |
| 80 | 50 | 120 | 01010000 | P | P | Заглавная буква P |
| 81 | 51 | 121 | 01010001 | Q | Q | Заглавная буква Q |
| 82 | 52 | 122 | 01010010 | R | R | Заглавная буква R |
| 83 | 53 | 123 | 01010011 | S | S | Заглавная буква S |
| 84 | 54 | 124 | 01010100 | T | T | Заглавная буква T |
| 85 | 55 | 125 | 01010101 | U | U | Заглавная буква U |
| 86 | 56 | 126 | 01010110 | V | V | Заглавная буква V |
| 87 | 57 | 127 | 01010111 | W | W | Заглавная буква W |
| 88 | 58 | 130 | 01011000 | X | X | Заглавная буква X |
| 89 | 59 | 131 | 01011001 | Y | Y | Заглавная буква Y |
| 90 | 5A | 132 | 01011010 | Z | Z | Заглавная буква Z |
| 97 | 61 | 141 | 01100001 | a | a | Строчная буква a |
| 98 | 62 | 142 | 01100010 | b | b | Строчная буква b |
| 99 | 63 | 143 | 01100011 | c | c | Строчная буква c |
| 100 | 64 | 144 | 01100100 | d | d | Строчная буква d |
| 101 | 65 | 145 | 01100101 | e | e | Строчная буква e |
| 102 | 66 | 146 | 01100110 | f | f | Строчная буква f |
| 103 | 67 | 147 | 01100111 | g | g | Строчная буква g |
| 104 | 68 | 150 | 01101000 | h | h | Строчная буква h |
| 105 | 69 | 151 | 01101001 | i | i | Строчная буква i |
| 106 | 6A | 152 | 01101010 | j | j | Строчная буква j |
| 107 | 6B | 153 | 01101011 | k | k | Строчная буква k |
| 108 | 6C | 154 | 01101100 | l | l | Строчная буква l |
| 109 | 6D | 155 | 01101101 | m | m | Строчная буква m |
| 110 | 6E | 156 | 01101110 | n | n | Строчная буква n |
| 111 | 6F | 157 | 01101111 | o | o | Строчная буква o |
| 112 | 70 | 160 | 01110000 | p | p | Строчная буква p |
| 113 | 71 | 161 | 01110001 | q | q | Строчная буква q |
| 114 | 72 | 162 | 01110010 | r | r | Строчная буква r |
| 115 | 73 | 163 | 01110011 | s | s | Строчная буква s |
| 116 | 74 | 164 | 01110100 | t | t | Строчная буква t |
| 117 | 75 | 165 | 01110101 | u | u | Строчная буква u |
| 118 | 76 | 166 | 01110110 | v | v | Строчная буква v |
| 119 | 77 | 167 | 01110111 | w | w | Строчная буква w |
| 120 | 78 | 170 | 01111000 | x | x | Строчная буква x |
| 121 | 79 | 171 | 01111001 | y | y | Строчная буква y |
| 122 | 7A | 172 | 01111010 | z | z | Строчная буква z |
FAQ
В чём разница между ASCII и UTF-8?
ASCII определяет 128 символов, пронумерованных от 0 до 127. UTF-8 — это кодировка для всего Unicode — более 150 000 символов — и она кодирует эти первые 128 одним байтом с точно теми же значениями, что и в ASCII. Поэтому любой ASCII-файл является корректным UTF-8-файлом, но обратное верно только если текст остаётся в пределах этих 128 символов.
Почему таблица заканчивается на 127?
ASCII — это 7-битный стандарт, а 2⁷ равно 128. Коды 128–255 не относятся к ASCII: они принадлежат тому 8-битному расширению, которое используется — Windows-1252, ISO-8859-1 и другим, — именно поэтому они расходятся между собой и почему текст с диакритикой так часто приходит искажённым.
Какой код ASCII у пробела?
Десятичное 32, шестнадцатеричное 20. Это печатаемый символ, хотя выглядит как ничто, поэтому он находится за пределами диапазона управляющих символов, который заканчивается на 31.
Почему DEL находится на 127, а не на 0?
Бумажная лента. Удаление символа означало пробивание всех отверстий в его позиции, а все семь пробитых битов дают 127. Удалённый символ нельзя было восстановить — отсюда и происходит современное значение.
В чём разница между CR и LF?
CR (13) возвращает печатающую головку в первый столбец; LF (10) переводит на одну строку вперёд. Unix и macOS завершают строки одним LF, Windows использует CR, за которым следует LF, и это расхождение — причина того, что файл может отображаться как одна длинная строка или с посторонними символами ^M.