Язык: Русский

tools / binary

binary/

Перевод текста в двоичный код (0 и 1) и обратно, 8 бит на байт. Кодировки UTF-8, GBK, UTF-16 и другие.

Текст

Двоичный код

Частые вопросы

Сколько бит занимает в двоичном коде буква кириллицы или иероглиф

Каждый байт записывается ровно 8 битами, поэтому длина зависит от кодировки. В UTF-8 буква кириллицы занимает 2 байта, то есть 16 бит: «Я» — это 11010000 10101111. Распространенный иероглиф занимает 3 байта, то есть 24 бита: 中 — это 11100100 10111000 10101101. В GBK и GB2312 иероглиф занимает 2 байта, то есть 16 бит: 中 — это 11010110 11010000. Латинские буквы и цифры занимают 1 байт; A — это 01000001.

Что делать, если при переводе двоичного кода в текст пишет, что число бит не кратно 8

Каждые 8 бит образуют один байт, поэтому после удаления пробельных символов число бит должно быть кратно 8, иначе в сообщении будет сказано, сколько бит добавить или убрать в конце. Чаще всего при копировании часть бит потерялась или добавилась. Некоторые источники записывают у каждого байта только значащие биты, например A как 1000001 (7 бит); такие данные сначала нужно дополнить ведущими нулями до 8 бит, потому что инструмент сам этого не делает.

Что делать, если пишет, что символ не является 0 или 1, или во вводе есть префикс 0b либо запятые

Принимаются только ASCII-символы 0 и 1; пробелы, переводы строк и табуляции игнорируются. Префикс 0b, запятые, дефисы и полноширинные 0 и 1 не принимаются, а ошибка указывает позицию символа. Удалите или замените их в текстовом редакторе и вставьте данные снова.

Что делать, если при переводе двоичного кода в текст пишет, что байты не являются допустимым текстом, или получаются «кракозябры»

Это значит, что двоичные данные закодированы не в текущей кодировке, поэтому попробуйте другую. Для китайского текста чаще всего подходят UTF-8 и GBK. Кириллица в Windows-1251 или KOI8-R здесь не декодируется: этих кодировок в списке нет. Инструмент никогда не показывает недекодируемые байты в виде мусора. Единственное исключение — ISO-8859-1: каждый байт соответствует какому-то символу, поэтому ошибки не бывает, но китайский текст превращается в «кракозябры». GBK и GB2312 декодируются встроенным в браузер декодером GB18030, который мягче, чем в Python или Java, поэтому при выборе GB2312 тоже декодируются символы, которые есть только в GBK. Если данные изначально не были текстом (изображение, архив), ни одна кодировка их не декодирует.

Почему при вводе числа 10 получается не 1010

Инструмент переводит в двоичный код байты текста, а не числовые значения. Ввод 10 — это два символа, «1» и «0», которые в UTF-8 записываются как 00110001 00110000. Чтобы превратить десятичное число 10 в двоичное 1010, нужен конвертер систем счисления; здесь этого сделать нельзя.

Чем отличаются разделители «Пробел» и «Нет»

При выборе «Пробел» между байтами ставится один пробел, при выборе «Нет» биты идут одной сплошной строкой. Биты каждого байта идут от старшего к младшему, то есть самый левый бит — старший. При декодировании принимаются обе формы, пробелы не обязаны попадать на границы байтов: важно только общее число бит после удаления пробельных символов.

Почему результаты UTF-16 и UTF-32 такие длинные

UTF-16 использует не менее 2 байт на символ и добавляет в начало FE FF (11111110 11111111), поэтому 中 — это 11111110 11111111 01001110 00101101. UTF-32 использует ровно 4 байта на символ, и 中 — это 00000000 00000000 01001110 00101101. Обе кодировки big-endian.

Отправляется ли введенный текст на сервер

Нет. Преобразование выполняется в браузере, запросы не отправляются, ничего не сохраняется.