bitlvl
RU

Таблица ASCII

Ищите по символу, числу или имени. Для управляющих символов показана клавиша Ctrl, которая их отправляет, что объясняет, почему Ctrl-C — это 3, а Ctrl-D — 4.

 
 
DecHexOctДвоичныйСимволИмяCtrlHTMLURL
00000000000000NULНуль^@�%00
10100100000001SOHНачало заголовка^A%01
20200200000010STXНачало текста^B%02
30300300000011ETXКонец текста (Ctrl-C)^C%03
40400400000100EOTКонец передачи (Ctrl-D)^D%04
50500500000101ENQЗапрос^E%05
60600600000110ACKПодтверждение^F%06
70700700000111BELЗвонок / сигнал (\a)^G%07
80801000001000BSЗабой (\b)^H%08
90901100001001HTГоризонтальная табуляция (\t)^I	%09
100A01200001010LFПеревод строки, новая строка (\n)^J
%0A
110B01300001011VTВертикальная табуляция (\v)^K%0B
120C01400001100FFПеревод страницы (\f)^L%0C
130D01500001101CRВозврат каретки (\r)^M
%0D
140E01600001110SOShift out^N%0E
150F01700001111SIShift in^O%0F
161002000010000DLEЭкранирование канала данных^P%10
171102100010001DC1Управление устройством 1 (XON, Ctrl-Q)^Q%11
181202200010010DC2Управление устройством 2^R%12
191302300010011DC3Управление устройством 3 (XOFF, Ctrl-S)^S%13
201402400010100DC4Управление устройством 4^T%14
211502500010101NAKОтрицательное подтверждение^U%15
221602600010110SYNСинхронный простой^V%16
231702700010111ETBКонец блока передачи^W%17
241803000011000CANОтмена^X%18
251903100011001EMКонец носителя^Y%19
261A03200011010SUBЗамена (Ctrl-Z, EOF в DOS)^Z%1A
271B03300011011ESCEscape (\e, начало терминальных последовательностей)^[%1B
281C03400011100FSРазделитель файлов^\%1C
291D03500011101GSРазделитель групп^]%1D
301E03600011110RSРазделитель записей^^%1E
311F03700011111USРазделитель единиц^_%1F
322004000100000 Пробел %20
332104100100001!Восклицательный знак!%21
342204200100010"Двойная кавычка"%22
352304300100011#Решётка#%23
362404400100100$Доллар$%24
372504500100101%Процент%%25
382604600100110&Амперсанд&%26
392704700100111'Апостроф, одинарная кавычка'%27
402805000101000(Левая круглая скобка(%28
412905100101001)Правая круглая скобка)%29
422A05200101010*Звёздочка*%2A
432B05300101011+Плюс+%2B
442C05400101100,Запятая,%2C
452D05500101101-Дефис-минус-%2D
462E05600101110.Точка.%2E
472F05700101111/Косая черта/%2F
4830060001100000Цифра 00%30
4931061001100011Цифра 11%31
5032062001100102Цифра 22%32
5133063001100113Цифра 33%33
5234064001101004Цифра 44%34
5335065001101015Цифра 55%35
5436066001101106Цифра 66%36
5537067001101117Цифра 77%37
5638070001110008Цифра 88%38
5739071001110019Цифра 99%39
583A07200111010:Двоеточие:%3A
593B07300111011;Точка с запятой&#59;%3B
603C07400111100<Меньше&lt;%3C
613D07500111101=Равно&#61;%3D
623E07600111110>Больше&gt;%3E
633F07700111111?Вопросительный знак&#63;%3F
644010001000000@Знак at, собака&#64;%40
654110101000001AЗаглавная A&#65;%41
664210201000010BЗаглавная B&#66;%42
674310301000011CЗаглавная C&#67;%43
684410401000100DЗаглавная D&#68;%44
694510501000101EЗаглавная E&#69;%45
704610601000110FЗаглавная F&#70;%46
714710701000111GЗаглавная G&#71;%47
724811001001000HЗаглавная H&#72;%48
734911101001001IЗаглавная I&#73;%49
744A11201001010JЗаглавная J&#74;%4A
754B11301001011KЗаглавная K&#75;%4B
764C11401001100LЗаглавная L&#76;%4C
774D11501001101MЗаглавная M&#77;%4D
784E11601001110NЗаглавная N&#78;%4E
794F11701001111OЗаглавная O&#79;%4F
805012001010000PЗаглавная P&#80;%50
815112101010001QЗаглавная Q&#81;%51
825212201010010RЗаглавная R&#82;%52
835312301010011SЗаглавная S&#83;%53
845412401010100TЗаглавная T&#84;%54
855512501010101UЗаглавная U&#85;%55
865612601010110VЗаглавная V&#86;%56
875712701010111WЗаглавная W&#87;%57
885813001011000XЗаглавная X&#88;%58
895913101011001YЗаглавная Y&#89;%59
905A13201011010ZЗаглавная Z&#90;%5A
915B13301011011[Левая квадратная скобка&#91;%5B
925C13401011100\Обратная косая черта&#92;%5C
935D13501011101]Правая квадратная скобка&#93;%5D
945E13601011110^Циркумфлекс, крышка&#94;%5E
955F13701011111_Подчёркивание&#95;%5F
966014001100000`Гравис, обратная кавычка&#96;%60
976114101100001aСтрочная a&#97;%61
986214201100010bСтрочная b&#98;%62
996314301100011cСтрочная c&#99;%63
1006414401100100dСтрочная d&#100;%64
1016514501100101eСтрочная e&#101;%65
1026614601100110fСтрочная f&#102;%66
1036714701100111gСтрочная g&#103;%67
1046815001101000hСтрочная h&#104;%68
1056915101101001iСтрочная i&#105;%69
1066A15201101010jСтрочная j&#106;%6A
1076B15301101011kСтрочная k&#107;%6B
1086C15401101100lСтрочная l&#108;%6C
1096D15501101101mСтрочная m&#109;%6D
1106E15601101110nСтрочная n&#110;%6E
1116F15701101111oСтрочная o&#111;%6F
1127016001110000pСтрочная p&#112;%70
1137116101110001qСтрочная q&#113;%71
1147216201110010rСтрочная r&#114;%72
1157316301110011sСтрочная s&#115;%73
1167416401110100tСтрочная t&#116;%74
1177516501110101uСтрочная u&#117;%75
1187616601110110vСтрочная v&#118;%76
1197716701110111wСтрочная w&#119;%77
1207817001111000xСтрочная x&#120;%78
1217917101111001yСтрочная y&#121;%79
1227A17201111010zСтрочная z&#122;%7A
1237B17301111011{Левая фигурная скобка&#123;%7B
1247C17401111100|Вертикальная черта&#124;%7C
1257D17501111101}Правая фигурная скобка&#125;%7D
1267E17601111110~Тильда&#126;%7E
1277F17701111111DELУдаление (DEL)^?&#127;%7F

Результаты и сообщения этого инструмента выводятся на английском языке.

Структура ASCII

ASCII (1963, пересмотрен в 1967) — 7-битный код: 128 значений, из которых 33 — управляющие символы и 95 — печатные. Его раскладка проектировалась для механических телетайпов и железа, манипулирующего битами, и этот замысел виден до сих пор:

  • Регистр — это один бит. A — 0x41, a — 0x61: они различаются только битом 5 (значение 32). c | 0x20 переводит букву в нижний регистр, c & ~0x20 — в верхний, а c ^ 0x20 переключает.
  • Цифры — это их значение плюс 48. '7' - '0' равно 7, а младший полубайт кода цифры — сама цифра (0x37 → 7).
  • Ctrl сбрасывает два бита. Ctrl-C отправляет 0x03, потому что C — это 0x43, а терминал сбрасывает биты 6 и 5 (c & 0x1F). Поэтому Ctrl-D — это EOT (4), Ctrl-H — забой (8), Ctrl-I — табуляция (9), Ctrl-M — возврат каретки (13), Ctrl-[ — Escape (27), а Ctrl-@ — NUL.
  • DEL — это 127, все семь битов установлены, потому что пробить все отверстия на бумажной ленте было способом удалить символ.

За пределами 127

«Расширенного ASCII» не существует. Байты 128–255 означали разные символы в каждой кодовой странице (Latin-1, Windows-1252, CP437, KOI8-R, ISO-8859-2 для сербской латиницы), что и порождает кракозябры вроде «Ã©» вместо «é». Unicode заменил их все; UTF-8 сохраняет байты 0–127 идентичными ASCII и использует 2–4 байта выше. Инспектор Unicode показывает эти байты.

Окончания строк

Unix завершает строки LF (10); Windows — CR LF (13 10); классическая Mac OS использовала один CR. Телетайпам нужны были оба: возврат каретки, чтобы вернуть головку, и перевод строки, чтобы продвинуть бумагу. \r\n в строке shebang shell-скрипта до сих пор самая частая причина ошибок «bad interpreter».

Вопросы

Какой код ASCII у A?

65 в десятичном, 0x41 в hex, 0101 в восьмеричном, 01000001 в двоичном. Строчная a — 97 (0x61).

Что такое ASCII 10 и 13?

10 — это LF (перевод строки, \n), а 13 — CR (возврат каретки, \r). Unix использует только LF; Windows — CR LF.

Почему Ctrl-C отправляет 3?

Терминалы сбрасывают два старших бита кода буквы: C — это 0x43 = 0100 0011, и 0x43 & 0x1F = 3 (ETX, конец текста). Shell сопоставляет ETX с SIGINT.

0xFF или 255 — это ASCII?

Нет. ASCII заканчивается на 127. 128–255 зависят от кодовой страницы, а в UTF-8 эти значения байтов встречаются только как части многобайтовых символов.