Таблица ASCII-кодов
Полная таблица ASCII-кодов 0–127: десятичные, шестнадцатеричные и восьмеричные значения, поиск по символу или коду, связь ASCII с UTF-8 и готовые примеры.
Зачем нужна таблица ASCII-кодов
Таблица ASCII — это справочник из 128 кодов, где каждому числу от 0 до 127 сопоставлен символ: латинские буквы, цифры, знаки препинания и 33 управляющие команды вроде перевода строки. Стандарт появился в 1963 году и до сих пор лежит в основе всего, что печатается на экране. Он выручает, когда в логе мелькает непонятный символ и нужно понять, что скрывается за кодом 10 или 27, когда в коде на C пишется escape-последовательность и надо вспомнить, какой букве какой номер соответствует, или когда задача по программированию требует разобрать строку по кодам. Поиск здесь работает в обе стороны: по символу вы находите его код, по коду — символ.
Что умеет справочник
- Показывает все 128 кодов сразу в четырёх системах: DEC, HEX, OCT и BIN, с группировкой на управляющие и печатные
- Ищет по символу, десятичному коду, шестнадцатеричному 0x41, восьмеричному 101 и по названию вроде LF или ESC
- Клик по любой строке таблицы кладёт десятичный код в буфер обмена
- Переводит введённый символ в DEC, HEX, OCT и BIN, работает и с символами за пределами ASCII
- Отдельно объясняет, как коды ASCII превращаются в байты UTF-8
Как найти нужный код
- Введите код или символ в поле поиска — таблица отфильтруется сразу
- Код можно писать в любом виде: 65, 0x41, восьмеричное 0101 или просто буквой A
- Кликните по строке с результатом, чтобы скопировать десятичный код
- Для произвольного символа используйте верхнее поле — оно покажет все представления, включая двоичное
Как устроена таблица
ASCII кодирует символы семью битами: значений 2 в седьмой степени, то есть 128, хватает на весь латинский алфавит в двух регистрах, десять цифр, знаки препинания и служебные команды. Диапазон 0–31 и код 127 отданы управляющим символам — у них нет начертания, есть только сокращённое имя вроде NUL, LF или ESC. Диапазон 32–126 занимает печатная часть, от пробела с кодом 32 до тильды с кодом 126. В таблице каждый код показан в десятичной, шестнадцатеричной, восьмеричной и двоичной записи: шестнадцатеричная удобна тем, что один байт записывается ровно двумя цифрами, восьмеричная живёт в синтаксисе C, а двоичная показывает, за что отвечает каждый бит.
Коды ASCII, которые встречаются чаще всего
| Код DEC и HEX | Символ | Что означает |
|---|---|---|
| 9, 0x09 | HT | горизонтальная табуляция, \t в коде |
| 10, 0x0A | LF | перевод строки, \n в большинстве систем |
| 13, 0x0D | CR | возврат каретки, \r; в Windows строки завершает CR+LF |
| 27, 0x1B | ESC | начало escape-последовательности терминала |
| 32, 0x20 | пробел | самый частый печатный символ текста |
| 48–57, 0x30–0x39 | 0–9 | цифры идут подряд, из кода вычитается 48 |
| 65–90, 0x41–0x5A | A–Z | заглавные латинские буквы подряд |
| 97–122, 0x61–0x7A | a–z | строчные: код заглавной плюс 32 |
| 34, 0x22 | " | двойная кавычка, в JSON ограничивает строки |
| 92, 0x5C | \ | обратная косая черта, начало escape-последовательности |
| 126, 0x7E | ~ | последний печатный символ таблицы |
| 127, 0x7F | DEL | удаление, единственный управляющий после 31 |
Диапазоны 48–57, 65–90 и 97–122 показаны границами: внутри каждого коды идут без пропусков, поэтому между A и C всегда ровно два шага.
Где таблица ASCII выручает на практике
Первая масса задач связана с логами и протоколами. В HTTP каждая строка заголовка заканчивается парой байтов 13 и 10, и пока это знаешь, обмен между клиентом и сервером выглядит как набор случайных символов. В телеметрии и обмене с устройствами на микроконтроллерах данные часто приходят сырыми байтами: без таблицы не разберёшься, что 0x0A внутри потока — это разделитель, а 0x1B — начало команды терминала. Даже разбор CSV с непонятными разделителями упирается в вопрос «что это за символ с кодом 9», и ответ занимает один поиск.
Вторая масса задач живёт в программировании. Escape-последовательности в C, Python и JavaScript — это коды таблицы: \n, \t, \r, \0. Сравнение символов по кодам используется для сортировки: цифры идут раньше заглавных букв, заглавные раньше строчных, и это не прихоть, а прямое следствие порядка кодов. Разбор строк посимвольно, валидация ввода, поиск непечатаемых символов в данных — всё это опирается на диапазоны 0–31 и 32–126. Учебные задания по информатике, где нужно перевести имя в коды и обратно, решаются той же таблицей, а фоновая теория хорошо ложится рядом с материалом про двоичный код.
- Разбор логов: что за байт 0x0A или 0x1B в потоке данных
- Протоколы: CR+LF в HTTP, разделители в последовательных портах
- Код: escape-последовательности \n, \t, \r и завершающий NUL строк в C
- Сортировка: почему цифры идут раньше букв и заглавные раньше строчных
- Учебные задачи: перевести слово в коды и собрать обратно
- Отладка: поиск непечатаемых символов, ломающих сравнение строк
Типичные ошибки при работе с кодами
Самая частая ошибка — смешать системы счисления. Числа 65, 0x41 и 101 задают один и тот же код, но читаются по-разному: 65 — это десятичная запись, 41 после 0x — шестнадцатеричная, 101 — восьмеричная. Человек, увидевший в логе байт 0x41, иногда ищет в таблице строку 41 и находит не ту букву: код 41 в десятичной — это закрывающая скобка. Правило простое: сначала определите систему, потом ищите. Hex всегда узнаваем по паре букв A–F в записи или по приставке 0x.
Вторая ошибка — обобщать таблицу на кириллицу. Русская заглавная А выглядит как латинская A, но её код Unicode U+0410, и в UTF-8 она занимает два байта D0 90. Сравнение строк, где одна буква набрана в латинской раскладке, а другая в русской, не совпадёт именно из-за этого, хотя на экране текст выглядит одинаково. Туда же примыкает путаница «символ равен байту»: в UTF-8 это верно только для ASCII-диапазона, а эмодзи может занять четыре байта. Проверить, что именно лежит в файле, помогает определитель кодировки.
- 65, 0x41 и 101 — один код в трёх системах, не три разных кода
- Кириллица вне диапазона 0–127: русская А это U+0410, а не 65
- В UTF-8 символ старше 127 занимает два и более байтов
- Пробел имеет код 32, а не 0, и он тоже печатный символ
- CR и LF — два разных кода, в Windows их пара, в Unix только LF
- DEL это 127, а не 8: код 8 занимает возврат на символ BS
Разбор примера: путь символа A от кода к байту
Возьмём заглавную латинскую A и проследим её по таблице. Десятичный код — 65, шестнадцатеричный — 0x41, восьмеричный — 101, двоичный — 01000001. Все четыре записи описывают одно и то же содержимое байта. В двоичной включены два бита: с весом 64 и с весом 1, а 64 плюс 1 как раз и даёт 65. Старший бит нулевой — значит, код попадает в первые 128 значений и символ точно есть в таблице. Разбор по битам же объясняет перевод регистра: строчная a записывается как 01100001, отличаясь от заглавной единственным битом с весом 32, поэтому 65 плюс 32 равно 97.
Тот же приём работает для любого символа таблицы. Строчная a отличается от заглавной ровно одним битом: 01100001 против 01000001. Цифра 0 — 00110000, поэтому все цифры подряд занимают 48–57. Пробел — 00100000, единственный включённый бит имеет вес 32, и код пробела действительно 32. Ниже — сводка для символов, к которым возвращаются чаще всего.
Коды частых символов во всех системах счисления
| Символ | DEC | HEX и OCT |
|---|---|---|
| A | 65 | 0x41, октал 101 |
| a | 97 | 0x61, октал 141 |
| 0 | 48 | 0x30, октал 060 |
| пробел | 32 | 0x20, октал 040 |
| LF (\n) | 10 | 0x0A, октал 012 |
| CR (\r) | 13 | 0x0D, октал 015 |
| ESC | 27 | 0x1B, октал 033 |
| DEL | 127 | 0x7F, октал 177 |
ASCII использует семь бит из восьми, поэтому старший бит байта в чистом ASCII всегда нулевой; восьмой бит исторически отдавали под контроль чётности.
ASCII в ряду других способов записи данных
Таблица кодов — это мост между текстом и числами. Дальше числа удобно переводить между системами: 0x41 превращается в 65 и в 01000001, и каждый шаг делает конвертер систем счисления. Для длинных последовательностей байтов вместо таблицы берут двоичный переводчик — он покажет и посимвольный разбор строки в нулях и единицах, о чём подробнее написано в разборе двоичного кода. Если же байты нужно передавать в текстовом виде, их упаковывают в Base64 — там на каждые три байта приходится четыре символа, и устроено это описано в материале про Base64 простыми словами.
Полезно держать в голове и границы применимости. ASCII описывает только латиницу с цифрами и знаками: для остальных языков нужны другие коды Unicode, для байтов с любыми значениями — hex-дампы, для файлов неизвестного происхождения — сначала определение кодировки. Но поскольку UTF-8 бережно сохранил все 128 кодов как есть, таблица остаётся рабочим инструментом, а не музейным экспонатом: каждый байт со значением до 127 вы расшифруете по ней так же уверенно, как и в 1963 году.
- Коды ASCII — это первые 128 кодпоинтов Unicode, расхождений нет
- HEX-дамп файла читается парами цифр: каждая пара — один байт
- Для чисел между системами счисления есть отдельный конвертер
- Base64 — это не кодировка символов, а упаковка байтов в текст
- Кракозябры в тексте чаще всего означают нешифрованную перекодировку, а не поломку данных
Частые вопросы
Что такое ASCII и сколько в нём символов
Чем управляющие символы отличаются от печатных
Почему A — это 65, а a — это 97
Как связаны ASCII и UTF-8
Что означают сокращения NUL, LF, CR, ESC
Как перевести код из HEX в символ
Зачем в таблице восьмеричный код
В каких случаях таблица ASCII не поможет
Полезные статьи
Похожие инструменты
Тестер и отладчик регулярных выражений
Тестируйте регулярные выражения с подсветкой совпадений, группами и частыми паттернами
Генератор HTML мета-тегов
Генерируйте SEO-оптимизированные HTML мета-теги для вашего сайта
Конвертер cURL в код
Конвертируйте команды cURL в код на JavaScript, Python и PHP
Генератор QR-кодов
Создавайте QR-коды из текста или URL-адресов с настраиваемыми цветами и размером
Парсер Cron выражений
Разбор cron выражений в понятные описания и отображение следующих дат выполнения
Генератор счетов
Заполните счёт, затем распечатайте его или сохраните в PDF — всё в вашем браузере.
Калькулятор соотношения сторон
Упростите ширину и высоту до соотношения и меняйте размеры с сохранением пропорций.
Калькулятор соотношения сторон A4
Соотношение сторон A4, размер листа в пикселях для печати и перевод пикселей в сантиметры