Hex кодирование / декодирование
Перевод текста и файлов в шестнадцатеричный вид и обратно. Кодировка и регистр; декодирует hex с пробелами, двоеточиями, дефисами и 0x. В браузере.
Введённые данные и файлы остаются в браузере
Введите текст для кодирования или вставьте hex-строку для декодирования — или перетащите файл ниже.
Перетащите файл сюда
Если выбран файл, текстовое поле игнорируется.
Здесь появится результат кодирования или декодирования.
На этой странице
Превращайте текст или любой файл в шестнадцатеричную строку и декодируйте hex-дампы обратно в текст или байты. Преобразование выполняет WebAssembly-модуль, собранный из Rust, прямо в браузере — содержимое файлов никуда не загружается.
Подробное описание функциональности
Каждый байт превращается в две hex-цифры, поэтому результат точно показывает, из каких байтов состоит строка: удобно проверять последовательности UTF-8, BOM, переводы строк и невидимые символы. Текст переводится в байты в выбранной кодировке (UTF-8, UTF-16LE, UTF-16BE, ASCII или ISO-8859-1), а Регистр hex переключает цифры между нижний и ВЕРХНИЙ.
Декодер принимает hex в том виде, в каком его обычно копируют из отладчиков, дампов трафика и сертификатов: сплошной (48656c6c6f), разбитый пробелами или переносами, с двоеточиями или дефисами (48:65:6c, 48-65-6c) и с префиксом 0x у каждого байта (0x48 0x65). Каждую из этих поблажек можно отключить в Опции декодирования для строгой проверки. Нечётное число цифр или не-hex символ дают ошибку, а ошибочный символ выделяется в поле ввода.
Файлы можно выбрать или перетащить на страницу; они читаются в Web Worker с индикатором прогресса и кнопкой Отмена. Если декодированные байты не являются текстом в выбранной кодировке (например, это бинарный дамп), инструмент сообщит об этом, а Скачать сохранит сырые байты.
Практические примеры
Текст в hex: Hi! превращается в 486921; в UTF-8 Привет становится d09fd180d0b8d0b2d0b5d182 (12 байт, по два на каждую кириллическую букву).
Кодировка и порядок байтов: буква A — это 4100 в UTF-16LE и 0041 в UTF-16BE.
Отформатированный hex: 48:65:6c:6c:6f, 48-65-6c-6c-6f и 0x48 0x65 0x6C 0x6C 0x6F декодируются в Hello.
Проверка: 48656c6c6 (девять цифр) отклоняется как обрезанный, а для 4865zz сообщается о недопустимом символе в позиции 5.
Как использовать этот инструмент
Введите текст или выберите файл
Вставьте в поле Текст обычный текст для кодирования или hex-строку для декодирования. Можно также перетащить файл на страницу или нажать Выбрать файл.
Задайте кодировку и регистр
Выберите Кодировка текста, в которой текст переводится в байты, и Регистр hex для вывода. В Опции декодирования оставьте или снимите Игнорировать пробелы/переводы строк, Разрешить разделители (: и -) и Разрешить префикс 0x.
Закодируйте или декодируйте
Нажмите Кодировать, чтобы получить hex, или Декодировать, чтобы превратить hex в текст или байты. При ошибке сообщение укажет позицию неверного символа.
Скопируйте или скачайте
Копировать помещает результат в буфер обмена, Скачать сохраняет его в файл; бинарный результат можно только скачать.
Советы и лучшие практики
- Hex удваивает размер: 1 байт — 2 символа. Для компактной передачи используйте Base64, а hex — чтобы рассматривать и сравнивать байты.
- Чтобы найти скрытый BOM или неразрывный пробел, закодируйте текст в UTF-8:
efbbbf— это BOM, аc2a0— неразрывный пробел. - Хеши (SHA-256, MD5) тоже записываются в hex: при декодировании получаются сырые байты, а не текст, поэтому используйте Скачать.
- Снимите Разрешить разделители (: и -) или Разрешить префикс 0x, если нужно убедиться, что ввод — чистый сплошной hex: тогда
0x48выдаст ошибку в позиции 2. - Регистр цифр при декодировании не важен:
D0 9fиd0 9Fдают одну и ту же буквуП.