onlinetools.dev

Конвертер текст ↔ hex / двоичный код

Превращайте текст в hex-, двоичные или десятичные байты и декодируйте байтовые дампы обратно

Работает локально
loading…
Об этом инструменте

Посмотрите, из каких именно байтов состоит ваш текст: инструмент кодирует его в UTF-8 и показывает в виде шестнадцатеричных, двоичных или десятичных значений байтов — с выбором разделителя, регистра и префиксов 0x. Декодер идёт в обратную сторону и намеренно терпим: он принимает сплошные последовательности (48656c6c6f), пары через пробел, MAC-подобную запись через двоеточие и escape-последовательности \x.

Поскольку кодирование побайтовое UTF-8, многобайтовые символы показываются такими, какими они реально существуют в памяти и на проводе: é — это c3 a9, 世 — e4 b8 96, а эмодзи занимают четыре байта. Это самый быстрый способ отладить несовпадения кодировок, загадки BOM и проблемы «почему эта строка длиннее, чем выглядит».

Если декодированные байты не являются корректным UTF-8, инструмент так и говорит, а не печатает кракозябры — сильный намёк, что перед вами бинарные данные, а не текст.

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

Почему один символ превращается в несколько байтов?
UTF-8 — кодировка переменной ширины: ASCII остаётся одним байтом, большинство европейских букв занимают два, CJK — три, эмодзи — четыре. Здесь вы видите точную последовательность байтов, которую любая UTF-8-система — файлы, HTTP, базы данных — хранит для вашего текста.
Какие входные форматы принимает декодер?
Hex сплошной строкой, парами через пробел, с префиксами 0x или \x либо через двоеточие/запятую; двоичный код — 8-битными группами с пробелами или без; десятичный — разделёнными значениями байтов. Смешанные разделители и случайные пробелы вычищаются автоматически.
Почему декодирование говорит, что байты — не корректный UTF-8?
Последовательность байтов нарушает правила UTF-8 — например, одинокий ff или байт-продолжение без ведущего байта. Данные могут быть бинарными, в устаревшей кодировке вроде Latin-1 или обрезанными посреди символа.
Это то же самое, что hex-дамп из xxd?
Значения байтов идентичны; xxd добавляет смещения и колонку ASCII. Вставьте hex-колонки дампа xxd сюда (без колонки смещений) — и они декодируются нормально.
Похожие инструменты