belun.app Блог EN

Текст в двоичный код: как ASCII-кодировка превращает символы в биты

Как компьютер хранит текст в виде нулей и единиц, как читать двоичные строки вручную и когда это реально нужно.

Светящийся зелёный двоичный код на тёмном экране монитора — кодировка ASCII

За каждым символом стоит число. Буква «H» — это 72. «i» — 105. Пробел — 32. Эти числа определяет стандарт ASCII, утверждённый в 1963 году: он назначил числовые коды 128 символам и до сих пор лежит в основе большей части текста, с которым мы работаем каждый день.

Двоичный код — это просто то, как эти числа выглядят в системе счисления с основанием 2. Вместо 72 пишется 01001000. Каждая позиция — это степень двойки: справа налево биты обозначают 1, 2, 4, 8, 16, 32, 64, 128. Складываем единицы: 64 + 8 = 72. Это «H».

Таблица ASCII: 128 символов, на которых держится интернет

ASCII охватывает коды от 0 до 127. Первые 32 — управляющие: перевод строки (10), табуляция (9), возврат каретки (13). Символы с 32 по 126 — печатаемые: буквы, цифры, знаки препинания, пробел. Символ 127 — DEL, пережиток эпохи, когда он означал «пробить все отверстия в этой позиции ленты».

Диапазоны, которые полезно помнить:

  • Цифры «0»–«9»: коды 48–57
  • Заглавные «A»–«Z»: коды 65–90
  • Строчные «a»–«z»: коды 97–122

Разрыв в 32 единицы между верхним и нижним регистром сделан намеренно. Переключить регистр — значит инвертировать бит 5 (позиция 32). «A» — это 01000001. «a» — 01100001. Разница в одном бите.

Как читать двоичный код вручную

Делать это часто не придётся, но один раз разобраться стоит. Метод простой: разбить на группы по 8 бит и сложить степени двойки для каждой единицы:

01001000 = 64 + 8 = 72 = 'H'
01100101 = 64 + 32 + 4 + 1 = 101 = 'e'
01101100 = 64 + 32 + 8 + 4 = 108 = 'l'
01101100 = 108 = 'l'
01101111 = 64 + 32 + 8 + 4 + 2 + 1 = 111 = 'o'

«Hello» — пять символов, 40 бит.

Когда это реально нужно

CTF-соревнования. Двоичные строки встречаются в capture-the-flag задачах постоянно. Их легко узнать: длинная последовательность нулей и единиц, разбитая на группы по 8.

Отладка бинарных форматов. В некоторых форматах напрямую используются битовые флаги. При разборе TCP-заголовка или сетевого пакета важно видеть содержимое конкретного байта. Перевод в двоичный код — самый быстрый способ это проверить.

Объяснение принципов работы компьютера. Конвертация «Hi» в двоичный код и обратно — одна из лучших иллюстраций того, что такое байт. Абстракция исчезает моментально.

Кодировка для головоломок. Это не шифрование — любой с декодером прочтёт сразу — но двоичный вид выглядит достаточно непонятным, чтобы сбить с толку случайного наблюдателя. Для задачек подходит, для хранения секретов — нет.

А что с Unicode?

ASCII хватает на 128 символов. Unicode — более 140 000. Конвертер текста в двоичный код использует метод charCodeAt в JavaScript, который возвращает кодовые точки UTF-16. Для стандартных ASCII-символов (0–127) результат совпадает с классическим ASCII. Для символов вне этого диапазона — «é» даёт 233, «€» — 8364, кириллическая «А» — 1040 — значение окажется выше 127, и двоичное представление будет отличаться от того, что выдал бы однобайтовый ASCII-кодировщик.

Для большинства задач — отладки, обучения, несложного кодирования — это несущественно. Если работаете с конкретным байтовым протоколом, уточните, какую кодировку он ожидает.


Вставьте любую строку в конвертер текста в двоичный код — двоичное представление появится мгновенно. Работает и в обратную сторону: вставьте двоичный код и получите текст.

Попробуйте инструмент

Текст в двоичный код →