Перейти к содержимому

Конвертер текста в шестнадцатеричный код

Введите текст, чтобы увидеть его байты UTF-8 в шестнадцатеричном виде, или вставьте hex, чтобы прочитать, какой текст он задаёт. Символы с диакритикой и эмодзи корректно проходят преобразование туда и обратно, вы выбираете вывод через пробел, слитно или с префиксом 0x, а счётчик байтов показывает размер. Бесплатно, без регистрации, преобразование выполняется в вашем браузере.

Направление

Группировка вывода Hex

Как пользоваться конвертером текста в Hex

  1. 1. Выберите направление. Автоопределение декодирует только ввод, который явно является hex, то есть разделённые пары цифр на байт (48 65 6c) или байты с префиксом 0x; всё остальное кодируется. Текст → Hex и Hex → Текст задают направление принудительно, а заголовок результата показывает, какое направление выбрано.
  2. 2. Выберите группировку hex. С пробелами (48 65), непрерывный (4865) или с префиксом 0x (0x48 0x65). Это влияет только на вывод при переводе текста в hex.
  3. 3. Введите или вставьте текст. Результат и счётчик байтов появляются по мере ввода.
  4. 4. Скопируйте его. Скопировать результат копирует вывод; Очистить опустошает поле.

Как текст становится hex

Компьютеры хранят текст как байты, а байт — это восемь бит, ровно две шестнадцатеричные цифры, потому что каждая hex-цифра обозначает четыре бита. Инструмент сначала кодирует текст в UTF-8 (RFC 3629), который использует от одного до четырёх байтов на символ, а затем записывает каждый байт двумя шестнадцатеричными цифрами в нижнем регистре. Обычные символы ASCII занимают один байт и сохраняют привычные значения, так что A — это 41. Всё остальное занимает больше:

СимволКодовая точкаБайты UTF-8 (hex)Байтов
AU+0041411
éU+00E9c3 a92
☕U+2615e2 98 953
😀U+1F600f0 9f 98 804

Поэтому hex-вывод может быть длиннее текста и отличается от десятичных кодов символов: é — это одна кодовая точка 233, но два байта c3 a9.

Пример

Ввод

Hello, World!

С пробелами

48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21

Непрерывный

48656c6c6f2c20576f726c6421

С префиксом 0x

0x48 0x65 0x6c 0x6c 0x6f 0x2c 0x20 0x57 0x6f 0x72 0x6c 0x64 0x21

Размер

13 байтов

Обратно: 63 61 66 c3 a9 декодируется в café, а e2 98 95 — в ☕. При декодировании пробелы, запятые, переносы строк и префиксы 0x игнорируются, так что можно вставить hex из отладчика, дампа пакетов или исходного кода; остаться должны только hex-цифры, парами.

Ошибки и особенности

  • «Ввод содержит символы, которые не являются шестнадцатеричными цифрами.» Во вводе есть что-то помимо 0–9 и a–f (в любом регистре), кроме разделителей и 0x.
  • «В hex-вводе нечётное количество цифр.» Каждому байту нужны две цифры, поэтому пропущенная или лишняя цифра делает длину нечётной. Проверьте, не потерян ли ведущий ноль (5 должно быть 05).
  • Символы замены (�). Байты, которые не являются корректным UTF-8, например одиночный ff, декодируются в символ замены, а не вызывают ошибку. Если вы ожидали текст, данные, вероятно, в другой кодировке или вообще не являются текстом.
  • Автоопределению нужны разделители, чтобы распознать hex. Одиночная последовательность вроде cafe, dead или 2024 может быть словом или числом так же легко, как hex, поэтому она кодируется как текст. Непрерывный hex вроде 48656c6c6f тоже читается как текст: выберите Hex → Текст для него или разделите байты пробелами.
  • Вывод в нижнем регистре. Если вашему месту назначения нужны заглавные буквы, поменяйте регистр в редакторе.

Какой инструмент вам нужен?

Тот же текст, «Hi»Инструмент
48 69 — шестнадцатеричные байтыЭта страница
01001000 01101001 — 8-битные двоичные байтыПереводчик двоичного кода
72 105 — десятичные коды символов и таблица ASCIIКонвертер ASCII
SGk= — Base64, URL-кодирование, HTML-сущностиКодировщик и декодировщик текста
Число из одной системы счисления в другую, например 255 в FFКонвертер систем счисления

Часто задаваемые вопросы

Как конвертировать текст в hex?
Введите или вставьте текст при направлении «Текст → Hex» (или оставьте автоопределение). Каждый символ кодируется в байты UTF-8, и каждый байт показывается двумя шестнадцатеричными цифрами, так что Hi становится 48 69.
Как конвертировать hex в текст или ASCII?
Вставьте hex при направлении «Hex → Текст». Пробелы, запятые, переносы строк и префиксы 0x игнорируются; остальные цифры должны составлять чётное число. Байты декодируются как UTF-8, что для обычных байтов ASCII даёт именно текст ASCII.
Какие форматы группировки доступны?
С пробелами (48 65), непрерывный (4865) и с префиксом 0x (0x48 0x65). Все три декодируются одинаково при выбранном направлении «Hex → Текст» (автоопределение распознаёт формы с пробелами и с префиксом 0x, но непрерывный hex считает текстом), так что выбирайте тот, который ждёт место назначения: с пробелами — для чтения, непрерывный — для строк в коде, с префиксом — для исходного кода.
Какую кодировку использует конвертер?
UTF-8. Каждый символ ASCII — это один байт; буквы с диакритикой, символы и эмодзи занимают от двух до четырёх байтов. Другие кодировки, например UTF-16 или Latin-1, дали бы другие байты для не-ASCII текста.
Почему мой hex закодировался, а не декодировался?
Автоопределение декодирует только разделённые пары байтов или байты с префиксом 0x, потому что голая последовательность вроде cafe или 2024 может быть и словом, и числом. Непрерывный hex вроде 48656c6c6f кодируется как текст; переключите направление на «Hex → Текст», чтобы декодировать его.
Почему в декодированном тексте �?
Вставленные байты не являются корректным UTF-8. Инструмент показывает символ замены для каждой неверной последовательности, а не угадывает другую кодировку.
Отправляется ли мой текст на сервер?
Нет. Преобразование использует встроенные в браузер TextEncoder и TextDecoder, и ничего из введённого вами не покидает устройство.

Похожие инструменты

Ещё в разделе «Данные, разметка и код»