Конвертер текст ↔ hex / двоичный код
Превращайте текст в hex-, двоичные или десятичные байты и декодируйте байтовые дампы обратно
Об этом инструменте
Посмотрите, из каких именно байтов состоит ваш текст: инструмент кодирует его в 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 сюда (без колонки смещений) — и они декодируются нормально.