Как пользоваться
- Выберите «Кодировать», чтобы перевести текст в двоичный код, или «Декодировать», чтобы получить текст из двоичного кода.
- Введите или вставьте текст либо двоичные цифры или откройте файл. Результат обновляется по мере ввода.
- Выберите разделитель для 8-битных групп: «Пробел», «Нет», «Запятая» или «Перевод строки».
- Если текст не в UTF-8, измените параметр «Кодировка текста», а затем скопируйте или скачайте результат.
Как текст превращается в двоичный код
Компьютеры хранят текст в виде байтов. Кодировка, например UTF-8, сопоставляет каждому символу один или несколько байтов, и каждый байт — это число от 0 до 255. В двоичной системе для записи такого числа нужно не более восьми цифр, то есть бит. Этот конвертер записывает каждый байт ровно восемью битами и сохраняет ведущие нули, поэтому все группы имеют одинаковую ширину, и двоичный код можно прочитать обратно, не гадая, где заканчивается один байт и начинается следующий.
Латинские буквы, цифры и знаки препинания занимают в UTF-8 по одному байту, поэтому каждый такой символ становится одной 8-битной группой. Остальным символам нужно больше: буквы с диакритикой, например é, занимают два байта, большинство китайских и японских иероглифов — три, а эмодзи — четыре, так что один эмодзи превращается в 32 бита. Если для западноевропейского текста нужен один байт на символ, выберите ISO-8859-1 или Windows-1252 в меню «Кодировка текста».
Перевод двоичного кода обратно в текст
В режиме «Декодировать» вставьте биты группами, разделёнными пробелами, запятыми или переводами строк. В разделённых группах ведущие нули можно опускать, поэтому подойдёт и вывод инструментов, которые печатают 7-битный ASCII. Сплошная строка из нулей и единиц разбивается на группы по 8 бит, поэтому её длина должна быть кратна 8. О любом другом символе или группе больше 11111111 (255) сообщается вместе с его позицией.
Затем байты читаются в выбранной кодировке текста. Выберите кодировку, в которой создавался двоичный код, или переключите вывод в Hex, чтобы увидеть исходные байты.
Перевод текста в двоичный код в программах
# Python
' '.join(f'{b:08b}' for b in 'Hi'.encode()) # '01001000 01101001'
bytes(int(g, 2) for g in '01001000 01101001'.split()).decode() # 'Hi'
// JavaScript
[...new TextEncoder().encode('Hi')]
.map(b => b.toString(2).padStart(8, '0')).join(' ') // '01001000 01101001'
Спецификация
| Алфавит | 0 1 |
|---|---|
| Размер результата | 8 цифр на байт (800%) |
| Дополнение | Нет |
| Стандарт | Позиционная двоичная запись |
| Учёт регистра | Нет |
Примеры
| Исходные данные (UTF-8) | Результат |
|---|---|
Hello, World! | 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01010111 01101111 01110010 01101100 01100100 00100001 |
Base64.is | 01000010 01100001 01110011 01100101 00110110 00110100 00101110 01101001 01110011 |
你好 | 11100100 10111101 10100000 11100101 10100101 10111101 |
Часто задаваемые вопросы
Сколько бит в одном символе?
В ASCII, а также для латинских букв в UTF-8 один символ занимает один байт, то есть 8 бит. Другие символы занимают в UTF-8 16, 24 или 32 бита. В UTF-16 любой символ занимает не менее 16 бит.
Можно ли перевести двоичный код в текст без пробелов?
Да, если строка представляет собой непрерывную последовательность полных 8-битных групп. Если в группах меньше 8 цифр, потому что ведущие нули были отброшены, разделяйте их пробелами или запятыми, чтобы декодер знал, где заканчивается каждый байт.
Перевод текста в двоичный код — это то же самое, что перевод числа в двоичную систему?
Загружается ли мой текст куда-либо?
Нет. Преобразование выполняется полностью в вашем браузере, поэтому текст и файлы никогда не покидают ваше устройство.