Конвертер двоичного кода
Преобразуйте текст в двоичные значения, разделённые пробелами, или превращайте двоичные группы обратно в текст. Введите содержимое и выберите «В двоичный код» или «В текст».
Конвертер текста в двоичный код
Формула конвертера двоичного кода
Где:
- \(u_i\) — числовое значение одной кодовой единицы UTF-16 во входном тексте.
- \(b_i\) — её двоичное представление, дополненное слева минимум до восьми цифр; при декодировании — одна двоичная группа, разделённая пробельными символами.
- \(c_i\) — символ, полученный при декодировании двоичной группы.
Режим «В двоичный код» преобразует каждую кодовую единицу UTF-16 отдельно и объединяет полученные группы пробелами. Режим «В текст» интерпретирует каждую группу, разделённую пробельными символами, как число в системе с основанием 2 и преобразует её в кодовую единицу UTF-16.
Конвертер двоичного кода — пример вычисления
Пример: введите Hi в поле «Содержимое» и выберите «В двоичный код». Значения кодовых единиц символов H и i равны 72 и 105.
\[ 72_{10}=01001000_2,\qquad 105_{10}=01101001_2 \]
Результат: 01001000 01101001. Чтобы восстановить Hi, введите эти две группы в поле «Содержимое» и выберите «В текст».
Как пользоваться калькулятором
- Введите текст или двоичные коды в поле Содержимое. Для преобразования двоичного кода в текст разделяйте каждое двоичное значение пробельными символами, например пробелом или переводом строки.
- Установите Тип — В двоичный код для кодирования текста или В текст для декодирования двоичных групп.
- Прочитайте или скопируйте преобразованное содержимое из поля Результат. Если получился неожиданный символ, проверьте двоичные группы и выбранное направление преобразования.
Что означает двоичный результат
Двоичная система — это система счисления с основанием 2: каждая цифра равна либо 0, либо 1. Этот конвертер представляет числовое значение каждой кодовой единицы UTF-16 (как в JavaScript) в двоичном виде. Для привычных английских букв, цифр и знаков препинания эти значения совпадают с кодами ASCII. Например, заглавная буква A имеет значение 65, поэтому её результат — 01000001. Пробелы между группами в выводе позволяют определять и декодировать каждое значение по отдельности.
Дополнение в режиме «В двоичный код» задаёт минимальную ширину в восемь цифр, а не фиксированную. Значения больше 255 поэтому дают более длинные группы. Некоторые символы, включая многие эмодзи, состоят из двух кодовых единиц UTF-16 и дают две двоичные группы. Поэтому вывод не следует считать последовательностью восьмибитных байтов или кодировкой UTF-8.
Режим «В текст» работает в обратном направлении: он воспринимает каждую группу, разделённую пробельными символами, как двоичное число, а затем преобразует значение в символ. Например, 01001000 01101001 превращается в Hi. Если нужно посмотреть коды символов в другом виде, воспользуйтесь конвертером ASCII или конвертером шестнадцатеричного кода. Другой способ представления текста для передачи описан в кодировщике Base64; Base64 не является двоичной записью.
Допущения и практические советы
Перед преобразованием калькулятор удаляет пробельные символы в начале и в конце всего содержимого поля «Содержимое». Пробелы внутри текста сохраняются и кодируются как символы. Если нужно закодировать начальные или конечные пробелы, этот инструмент не сохранит их в том виде, в котором они введены.
При декодировании используйте одну двоичную группу на кодовую единицу символа. Пример вывода режима «В двоичный код» — надёжный формат для вставки обратно в режим «В текст». При декодировании не проверяется, что группа содержит только нули и единицы: JavaScript может прервать разбор на недопустимой цифре или выдать неожиданный символ. Если результат выглядит неправильным, проверьте ввод, а не считайте его корректными двоичными данными.
Это конвертер кодовых единиц текста, а не кодировщик файлов или байтов. В частности, его вывод для текста вне ASCII может отличаться от байтов, которые используются при сохранении этого текста в UTF-8. Для надёжных сравнений убедитесь, что обе стороны преобразования используют одинаковое представление символов и одинаковые границы групп.
Часто задаваемые вопросы
Как перевести букву в двоичный код вручную?
Найдите код символа этой буквы, переведите это число в систему с основанием 2 и добавьте нули слева, пока не получится минимум восемь цифр. Например, буква A имеет код 65. Поскольку 65 = 64 + 1, её двоичное значение — 1000001, дополненное до 01000001. Для декодирования сложите разрядные значения, отмеченные единицами, и найдите получившийся код.
Влияют ли ведущие нули на символ при переводе двоичного кода в текст?
Нет. Ведущие нули не меняют значение двоичного числа, поэтому 1000001 и 01000001 оба декодируются в A. Конвертер добавляет нули при кодировании, чтобы малые значения было легче читать, но при декодировании они не требуются. Разделяйте группы пробелами, чтобы было понятно, где заканчивается код одного символа и начинается следующий.
Можно ли вставить непрерывную строку битов без пробелов?
Нет, если она представляет несколько символов. Конвертер воспринимает каждую группу, разделённую пробельными символами, как одно число; он не делит непрерывную строку на восьмибитные блоки автоматически. Например, чтобы декодировать две буквы, разделите их коды пробелом или переводом строки. Это важно ещё и потому, что некоторые закодированные группы длиннее восьми бит.
Почему двоичный код буквы с диакритикой отличается от её байтов в UTF-8?
Этот конвертер использует кодовые единицы UTF-16, тогда как UTF-8 — другая кодировка, которая может представлять один и тот же символ другим количеством байтов. Например, é здесь отображается как одна группа 11101001, а её байты в UTF-8 — 11000011 10101001. Если вам нужно двоичное содержимое сохранённого файла в UTF-8, воспользуйтесь конвертером байтов UTF-8.
Почему эмодзи даёт две двоичные группы?
У многих эмодзи такое значение Unicode, что в UTF-16 оно представляется парой кодовых единиц, называемой суррогатной парой. Конвертер обрабатывает каждую кодовую единицу отдельно, поэтому один видимый эмодзи может дать две группы. Чтобы его восстановить, обе группы должны сохраняться в правильном порядке. Поэтому количество двоичных групп не всегда равно количеству видимых символов.
Почему декодированный результат выглядит пустым или содержит странный символ?
Двоичная группа может декодироваться в управляющий символ, например табуляцию или перевод строки, который может не отображаться как видимый символ. Необычно большое значение или группа, содержащая недвоичные цифры, тоже может дать неожиданный результат, поскольку ввод строго не проверяется. Проверьте цифры и границы каждой группы, а если вывод остаётся непонятным, используйте инструмент просмотра кодов символов.