Текст в шестнадцатеричный код
Разобрать дамп памяти, проверить, что протокол на самом деле отправил в сеть, вскрыть задание с CTF: рано или поздно понадобятся байты, стоящие за строкой. Вставьте текст, и конвертер вернёт его побайтно в шестнадцатеричном виде, либо с пробелами, как в hexdump (48 65 6c 6c 6f), либо одной сплошной строкой (48656c6c6f). Переключите режим, и путь пойдёт в обратную сторону: вставленный hex снова станет читаемым текстом.
Как работает конвертер
-
1
Выберите направление
Текст в hex кодирует то, что вы набрали. Hex в текст возвращает символы обратно.
-
2
Выберите разделитель
При кодировании либо один пробел между байтами, либо ничего. Это два доступных варианта.
-
3
Вставьте исходные данные
Текст читается как UTF-8. Hex может прийти с префиксами 0x или \x, с запятыми, пробелами или переводами строк: их уберут за вас.
-
4
Преобразуйте и скопируйте
Результат появится ниже вместе с кнопкой копирования. Ничего не скачивается.
Почему hex, а не десятичная система
Одна шестнадцатеричная цифра покрывает ровно 4 бита, значит две цифры покрывают ровно один байт, и так всегда. Десятичная запись заставляет считать, чтобы понять, помещается ли значение (128 в диапазоне? а 256?), тогда как hex это просто показывает: 00 это наименьший байт, ff наибольший, а каждый байт между ними занимает два символа. Именно эта выровненность и сделала hex записью дампов памяти, перехваченных пакетов, сигнатур файлов и цветовых кодов.
Что этот конвертер выдаёт на самом деле
- Всегда строчными. Кодировщик пишет
6c, но не6C. Регистр в hex не имеет значения, так что ничего не теряется, но если целевой формат требует прописных, прогоните результат через конвертер регистра. - Всегда две цифры на байт. Табуляция это
09, а не9, чтобы границы байтов оставались пересчитываемыми. - Пробел или ничего. Это единственные два разделителя. При кодировании префиксы
0xи\xне добавляются, так что дописывайте их в редакторе, если нужны escape-строки C или Python. - Везде UTF-8. Текст меряется байтами, а не символами.
Hex и Unicode
H занимает в UTF-8 один байт и превращается в 48. Всё, что выходит за пределы чистого ASCII, занимает больше:
| Символ | Hex в UTF-8 | Байты |
|---|---|---|
| A | 41 | 1 |
| é | c3 a9 | 2 |
| € | e2 82 ac | 3 |
| 🚀 | f0 9f 9a 80 | 4 |
Поэтому Hello кодируется как 48 65 6c 6c 6f, пять символов и пять байтов, а café как 63 61 66 c3 a9: четыре символа, но пять байтов, потому что é требует двух. Кириллица ведёт себя так же: каждая русская буква занимает два байта, поэтому слово Привет даёт двенадцать пар: d0 9f d1 80 d0 b8 d0 b2 d0 b5 d1 82. Если короткая строка даёт больше hex-пар, чем вы ожидали, обычно причина именно в этом.
Что принимает декодер
Вставьте любой из этих вариантов и получите обратно Hello:
48 65 6c 6c 6f, в стиле hexdump48656c6c6f, сырой вид без разделителей0x48656c6c6f, в стиле целочисленного литерала\x48\x65\x6c\x6c\x6f, escape-последовательности C и Python48,65,6C,6C,6F, через запятую и в любом смешении регистров
Префиксы, запятые, пробелы, табуляции и переводы строк удаляются перед декодированием. Всё остальное нет: дефис в 48-65, # перед цветовым кодом или буква дальше f останавливают декодирование, и то же делает нечётное количество цифр, ведь полбайта не превратятся в символ. В таких случаях инструмент не возвращает ничего, вместо того чтобы угадывать половинчатый результат. Если поле вывода осталось пустым, искать нужно именно здесь.
Шестнадцатеричные цвета это та же запись, но не то же содержимое
#ff8800 пользуется той же системой по основанию 16, но эти три байта описывают каналы красного, зелёного и синего, а не символы. Уберите # и раскодируйте это здесь: получите три сырых байта, которые не складываются в читаемый текст. Для такой задачи лучше взять палитру цветов.
Часто задаваемые вопросы
Да. Шестнадцатеричная система и base16 это два названия одного и того же: шестнадцать цифр (от 0 до 9 и от a до f), каждая несёт 4 бита.
Из этого инструмента нет. Кодировщик всегда пишет строчными. Поскольку регистр в hex не важен, 4f и 4F это один и тот же байт, так что прогоните результат через любой конвертер регистра, если формат этого требует. Декодер читает обе формы без возражений.
Декодер принимает только цифры от 0 до 9 и от a до f в чётном количестве, после того как уберёт префиксы 0x и \x, запятые и пробелы. Дефис, #, буква дальше f или одна пропущенная цифра делают ввод недопустимым, и инструмент предпочтёт пустой результат неверному. Пересчитайте цифры и поищите затесавшуюся пунктуацию.
Большинство эмодзи лежат в дополнительных плоскостях Unicode, которые UTF-8 хранит в четырёх байтах. Чистые символы ASCII остаются по одному байту, поэтому английский текст даёт по паре на символ, а русский нет.
Нет. Это текстовое поле, поэтому оно обрабатывает то, что можно набрать или вставить. Для двоичных данных base64 и компактнее, и удобнее в передаче.
Да. Преобразование выполняется на нашем сервере, поэтому вставленное вами уходит вместе с запросом, а результат приходит обратно. Мы записываем только само действие и выбранные вами настройки, но никогда сам текст, и после ответа текст не сохраняется. Для действительно секретных данных используйте конвертер, работающий офлайн на вашем компьютере.
Сопутствующие инструменты
Генератор названий городов
Создавайте вымышленные названия городов, посёлков, деревень и столиц для миростроения, карт, игр, историй и тестовых данных с короткими заметками к каждому результату.
Переводчик иконок
Введите английский текст, и каждое слово из встроенного списка получит подходящий эмодзи. Скопируйте результат как текст с эмодзи.
Генератор бегущей строки
Создавайте анимированные бегущие заголовки с настраиваемой скоростью, размером шрифта и цветами. Предпросматривайте CSS-строку marquee или панель объявлений вживую в браузере.
Символы стрелок для копирования
Копируйте популярные Unicode-стрелки одним щелчком: прямые, двойные, диагональные, крючковые, круговые и треугольные для документов, чатов и дизайна.
Переводчик Эндермана
Превратите любую фразу в речь Эндермена в стиле Minecraft: растяните гласные и переверните каждое второе слово. Скопируйте результат в чат, на таблички или в посты фанатов.
Символ «меньше или равно»
Копируйте знак ≤ и связанные математические символы сравнения. Включает Unicode, HTML-сущности и разметку LaTeX для электронных таблиц, научных работ и веб-страниц.
Инструмент доступен на других языках
- Text till hex [SV]
- Văn bản sang hex [VI]
- Text in Hex [DE]
- Teks ke heksadesimal [ID]
- テキストを 16 進数に変換 [JA]
- Tekst na hex [PL]
- تحويل النص إلى ست عشري [AR]
- Texto para hexadecimal [PT]
- Texto a hexadecimal [ES]
- Texte en hexadécimal [FR]
- 텍스트를 16진수로 [KO]
- Tekst naar hex [NL]
- แปลงข้อความเป็นเลขฐาน 16 [TH]
- Text to Hex [EN]
- Da testo a esadecimale [IT]
- Metinden onaltılığa [TR]
- 文本转十六进制 [ZH]