Декодер Hex

Мгновенное преобразование между шестнадцатеричным форматом и текстом. Поддержка настраиваемых разделителей и префиксов. Вся обработка выполняется в вашем браузере.

Мгновенное преобразование Настраиваемый вывод Обработка на стороне клиента

Настройки

Как использовать декодер Hex

1

Выберите направление

Выберите режим преобразования Hex в текст или Текст в Hex.

2

Введите данные

Вставьте hex-строку или обычный текст в зависимости от выбранного режима.

3

Настройте и преобразуйте

Настройте разделитель и префикс, затем скопируйте результат.

Что такое шестнадцатеричная система?

Шестнадцатеричная система счисления (с основанием 16) использует цифры 0-9 и буквы A-F. В информатике hex обычно используется для представления двоичных данных, значений байтов, адресов памяти и цветовых кодов. Каждый hex-байт (две hex-цифры) представляет один байт (8 бит) данных.

Частые применения

Цветовые коды

CSS-цвета, такие как #FF5733, представляют значения RGB в hex

Двоичные данные

Представление необработанных байтов в читаемом формате

Адреса памяти

Адреса расположения в компьютерной памяти

Краткая таблица Hex ↔ ASCII

Самые нужные значения ASCII при чтении и записи hex. Печатные ASCII-символы идут от 0x20 (пробел) до 0x7E (тильда); байты ниже 0x20 — управляющие.

Символ Hex Десятичное Значение
NUL 0x00 0 Нулевой байт — терминатор строк в C
TAB 0x09 9 Горизонтальная табуляция
LF 0x0A 10 Перевод строки (\n)
CR 0x0D 13 Возврат каретки (\r)
(space) 0x20 32 Пробел
0–9 0x30–0x39 48–57 Цифры от 0 до 9
A–Z 0x41–0x5A 65–90 Прописные буквы A–Z
a–z 0x61–0x7A 97–122 Строчные буквы a–z
DEL 0x7F 127 Управляющий символ Delete

Правило, которое стоит запомнить: цифры начинаются с 0x30, прописные буквы — с 0x41, строчные — с 0x61, ровно на 0x20 выше прописных. Поэтому установка бита 0x20 меняет регистр ASCII-буквы.

Префиксы hex: 0x, \x и #

Один и тот же hex-байт встречается с разными префиксами в зависимости от контекста. Значение у всех трёх одно и то же — префикс лишь соглашение языка:

0x

0x — литерал в программировании

C, C++, Java, JavaScript, Python и Go записывают шестнадцатеричные числа с префиксом 0x: 0x1F, 0xFF, 0xDEADBEEF. Адреса памяти и значения байтов в документации и hex-дампах почти всегда используют 0x.

\x

\x — escape в строках

Внутри строк и регулярных выражений \xNN означает байт со значением NN: "\x48\x65\x6C\x6C\x6F" — это "Hello". Python и JavaScript также поддерживают \uXXXX для кодпоинтов Unicode (4 hex-цифры) — см. Unicode Decoder.

#

# — цвета

CSS и дизайнерские инструменты записывают RGB-цвета как #RRGGBB: #FF5733 — это rgb(255, 87, 51). Каждая пара hex-цифр — один байт канала. В URL другая конвенция — %-кодирование %XX — её разбирает URL-декодер.

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

Какие форматы разделителей поддерживаются?

Вы можете выбрать пробел (48 65 6C 6C 6F), двоеточие (48:65:6C:6C:6F) или без разделителя (48656C6C6F). Декодер автоматически определяет формат.

Поддерживается ли текст в кодировке UTF-8?

Да. Инструмент корректно кодирует и декодирует многобайтовые символы UTF-8, преобразуя каждый байт в его hex-представление.

Можно ли использовать префикс 0x?

Да. Вы можете переключать префикс вывода между 0x, \x, # или без префикса. Декодер также принимает ввод с любым из этих префиксов.

Что означают префиксы 0x, \x и #?

Это соглашения из разных языков, обозначающие одни и те же hex-значения. 0x — префикс числового литерала в C, Java, JavaScript и Python (0xFF). \x — строковый escape одного байта ("\x41" — это "A"). # используется для RGB-цветов в CSS (#FF5733).

Как читать hex-дамп?

Hex-дамп показывает каждый байт двумя hex-цифрами, обычно по 16 байтов в строке, со смещением (адресом) слева и ASCII-представлением справа. Точки в ASCII-колонке означают непечатные байты. Удобно потренироваться на "Hello": 48 65 6C 6C 6F — H это 0x48, e это 0x65, каждая l это 0x6C, o это 0x6F.

Как преобразовать hex в десятичную или двоичную систему?

Каждая hex-цифра соответствует ровно 4 битам: F = 1111, поэтому FF = 11111111 = 255. Для перевода в десятичную систему умножайте на степени 16 по разрядам: 1F = 1x16 + 15 = 31. Этот инструмент показывает десятичное значение каждого байта, а для многобайтовых последовательностей отображает текст UTF-8, в который декодируются эти байты.

Где на практике используется hex?

Почти везде, где двоичные данные встречаются с человеком: коды цветов (#FF6600), MAC-адреса (00:1A:2B:3C:4D:5E), адреса памяти, хеши SHA-256, магические байты файлов (gzip-поток всегда начинается с 1F 8B) и файлы прошивок Intel HEX. Hex естественно подходит для двоичных данных, потому что один байт всегда занимает ровно две hex-цифры.

Почему в шестнадцатеричной системе используются буквы A-F?

Основанию 16 нужны 16 символов для цифр, но арабские цифры дают только 10, поэтому значения 10-15 заимствуют буквы A-F (по соглашению регистр не имеет значения). Название объединяет hexa (шесть) и decimal (десять). Соответствие A=10 — F=15 универсально во всей вычислительной технике — альтернативных вариантов не существует.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

Авторитетные источники

Первоисточники, лежащие в основе этого инструмента, — официальные стандарты и спецификации, а не пересказы из вторых рук.