Переводит двоичный (BIN), восьмеричный (OCT), десятичный (DEC) и шестнадцатеричный (HEX) код в текст и обратно. Поддержка UTF-8 и кириллицы, автодетект формата.
Подробнее — как работает кодирование текста
Что такое двоичный код?
Компьютер хранит и передаёт только нули и единицы — это и есть двоичный (бинарный) код. Любой текст, картинка или программа — это в конечном счёте длинная последовательность нулей и единиц. Один бит — это одна цифра (0 или 1). Восемь бит образуют байт — базовую единицу хранения данных.
Почему именно 8 бит в байте?
Один байт может принимать 256 разных значений (2 в степени 8). Этого как раз хватает для английского алфавита, цифр, знаков препинания и управляющих символов — так сложилось исторически, и с тех пор это стандарт.
Как символ превращается в байты
Каждому символу присвоен номер — «кодпойнт». Этот номер записывается одним или несколькими байтами по правилам кодировки. Самая простая схема — ASCII: 128 символов (латиница, цифры, знаки), каждый занимает ровно 1 байт. Для русского языка ASCII не хватает, поэтому используются расширенные кодировки.
Основные кодировки
- UTF-8 — современный стандарт. Английские буквы — 1 байт, кириллица — 2 байта, иероглифы — 3 байта, emoji — 4 байта. Универсально работает для всех языков.
- Windows-1251 (CP1251) — старая русская кодировка. Каждый символ строго 1 байт. До сих пор встречается в старых базах данных и текстовых файлах.
- KOI8-R — ещё более старая, использовалась в UNIX-системах и ранних русских email-клиентах.
- ASCII — только английский (0–127). Русские буквы в ней закодировать нельзя.
Системы счисления
Один и тот же байт можно записать в разных системах. Например, буква «H» (код 72) выглядит так:
- BIN (основание 2):
01001000— как хранится в памяти - OCT (основание 8):
110— раньше использовалось в UNIX - DEC (основание 10):
72— привычное нам число - HEX (основание 16):
48— удобно для программистов, 1 байт = ровно 2 символа
Пример: слово «Hi» → двоичный код
Берём каждую букву и смотрим её номер в ASCII:
- «H» — номер 72 → в двоичном виде
01001000 - «i» — номер 105 →
01101001
Итого слово «Hi» в двоичном коде: 01001000 01101001 — 16 бит, или 2 байта.
Пример: слово «Привет» — почему 12 байт, а не 6
Русская буква в UTF-8 занимает 2 байта. Первый байт начинается с битов 110 — это сигнал «следом идёт ещё один байт этого же символа». Второй байт начинается с 10 — «я продолжение».
- «П» →
D0 9F→11010000 10011111 - «р» →
D1 80→11010001 10000000
Поэтому «Привет» из 6 букв занимает 12 байт. В старой кодировке Windows-1251 было бы 6 байт, но она поддерживает только русский — а UTF-8 работает для любого языка мира.
Как читать шестнадцатеричный код
В HEX вместо цифр от 10 до 15 используются буквы A–F. Например, A — это 10, F — 15, FF — 255 (максимум для одного байта). Любой байт в HEX — это ровно 2 знака: от 00 до FF.
Для чего это нужно на практике
- Отладка — увидеть, что конкретно пришло по сети или записано в файле, когда кодировка «поплыла»
- Восстановление текста — если файл открылся «кракозябрами», часто можно понять правильную кодировку по байтам
- Учёба — понять, как работает компьютер «под капотом»
- Криптография и стеганография — сообщения в двоичном виде часто встречаются в задачах и головоломках
Примеры
История
Как расшифровать двоичный код
Буква в компьютере — это число. Для ASCII: ‘A’ = 65, ‘B’ = 66, ‘a’ = 97. Число 65 в двоичной системе = 01000001. Значит, 01000001 в коде = буква A. Группа из 8 бит называется байт, для базовой латиницы одна буква = 1 байт.
Кириллица и UTF-8
Русская буква «П» — это код 1055 (в Unicode), в UTF-8 кодируется двумя байтами: 11010000 10001111 (D0 8F). Калькулятор автоматически собирает многобайтовые последовательности, когда переводите из двоичного в текст.
Форматы записи
- BIN — только 0 и 1, группы по 8 через пробел:
01001000 01101001= «Hi» - OCT — цифры 0-7, по 3 на байт:
110 151= «Hi» - DEC — обычные числа:
72 105= «Hi» - HEX — 0-9 и A-F, по 2 символа:
48 69= «Hi»
Автодетект формата
Если включена галочка «Автодетект» — калькулятор сам определяет формат по символам: только 0 и 1 → BIN; 0-7 → OCT; 0-9 → DEC; есть буквы A-F → HEX; иначе считает это обычным текстом. Можно выбрать формат вручную.
Текст в код
Обратная операция: вводите текст, выбираете в какой формат перевести. Калькулятор показывает байты по одному, разделяя пробелами — так удобно читать. Для русского текста один символ = 2 байта (UTF-8).
Примеры
- 01001000 01101001 → Hi
- Привет → D0 9F D1 80 D0 B8 D0 B2 D0 B5 D1 82 (HEX, 12 байт)
- 65 66 67 → ABC (DEC)
- 48 65 6C 6C 6F → Hello (HEX)