Перейти к содержанию
TextArray
100% локально

Шестнадцатеричный код в текст и обратно

Преобразуйте текст в шестнадцатеричный формат и обратно в шестнадцатеричный формат, побайтно в кодировке UTF-8.

Входные данные

Шестнадцатеричный код в текст и обратно

Шестнадцатеричный формат — это то, как записываются байты, когда людям нужно их прочитать: две цифры на байт, от 00 до ff. Вставьте текст, чтобы увидеть точные байты UTF-8, стоящие за ним, или вставьте шестнадцатеричный дамп из журнала, захвата пакета или отладчика и прочитайте сообщение обратно. Селектор режима меняет направление, и результат обновляется по мере ввода.

Опция разделителя определяет форму вывода. Пары, разделенные пробелами, представляют собой классический формат дампа, который легче всего сканировать на глаз. Неразделенный шестнадцатеричный код — это то, как выглядят контрольные суммы, значения цвета и столбцы больших двоичных объектов базы данных. Префикс 0x подходит для байтовых литералов C, Go и Rust; префикс \\x соответствует байтовым объектам Python и escape-символам оболочки. Цифры в верхнем регистре используются во многих форматах, которые ожидают A-F, а не a-f.

Обратное чтение шестнадцатеричного значения намеренно терпимо, потому что настоящее шестнадцатеричное число приходит неряшливо. Пробелы, табуляции и разрывы строк игнорируются, префиксы 0x и \\x удаляются везде, где они появляются, а верхний и нижний регистр свободно смешиваются — поэтому обычно просто работает копирование и вставка из трассировки стека. Сообщается о двух вещах, а не угадывается: нечетное количество цифр, что означает, что цифра пропала, и символы за пределами 0-9 a-f. Недопустимые байты UTF-8 декодируются в символ замены, поэтому вы все равно можете увидеть, где последовательность прервалась.

Все работает в вашем браузере с использованием встроенного кодировщика UTF-8. Ничего не загружается, что имеет значение, когда проверяемый вами шестнадцатеричный код получен из полезной нагрузки, токена или частного файла. Подсчет результатов показывает количество символов в сравнении с байтами, поэтому многобайтовые символы легко обнаружить: смайлик стоит четыре байта, буква с акцентом — два.

FAQ

Почему мой шестнадцатеричный код длиннее моего текста?
Каждый байт занимает две шестнадцатеричные цифры, а текст кодируется как UTF-8, где ASCII — это один байт на символ, буквы с диакритическими знаками — два, а эмодзи — четыре. Слово из 5 символов может легко состоять из 8 байтов и 16 цифр.
Какие шестнадцатеричные форматы он может читать?
Все, что он пишет, и большинство других: пары с интервалами, непрерывные строки, байты с префиксом 0x и \x, верхний или нижний регистр, разбросанные по любому количеству строк. Перед декодированием удаляются пробелы и префиксы.
Почему я получаю ошибку из-за нечетного числа цифр?
Байт всегда состоит из двух цифр, поэтому нечетное количество означает, что один был потерян, обычно из-за усеченной копии. Проверьте начало и конец строки. Запятые и другие знаки препинания не принимаются в качестве разделителей — удалите их или разделите байты.
Что означают черные ромбы в расшифрованном тексте?
Это U+FFFD, отображаемое везде, где байты недопустимы в формате UTF-8 — обычно потому, что шестнадцатеричное число получено из двоичных данных или из текста в другой кодировке, например Windows-1250.
Мой текст где-нибудь загружен?
Нет. Преобразование выполняется полностью в вашем браузере, и ваш текст никогда не покидает ваше устройство.