T

Text Machine

Мощные текстовые инструменты прямо в браузере

Конвертер текста ↔ HEX

Преобразуйте текст в шестнадцатеричный код и HEX обратно в текст прямо в браузере. Полная поддержка UTF-8 означает, что каждый символ кодируется корректно — выберите строчные или прописные буквы, а также байты с пробелами или сплошным потоком.

Регистр

Разделитель

Ввод текста
Вывод HEX

Введите данные выше, чтобы увидеть здесь результат преобразования.

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

  1. 1

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

    С помощью переключателя выберите «Текст в HEX» или «HEX в текст». Кнопка обмена переносит результат во ввод, чтобы можно было преобразовать его в обратную сторону.

  2. 2

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

    Введите или вставьте текст либо вставьте строку HEX. Преобразование выполняется автоматически по мере ввода, с полной поддержкой UTF-8 для любого символа.

  3. 3

    Выберите формат

    Для вывода в HEX выберите строчные или прописные буквы и пробел между каждым байтом или сплошной поток. При декодировании пробелы, запятые и двоеточия необязательны.

  4. 4

    Скопируйте результат

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

Преобразование текста в шестнадцатеричный код: полное руководство

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

Шестнадцатеричная система счисления, которую обычно сокращённо называют HEX, — это система с основанием 16. Если в десятичной системе используется десять цифровых знаков, а в двоичной — два, то в шестнадцатеричной их шестнадцать: цифры от 0 до 9 для значений от нуля до девяти, а затем буквы от A до F для значений от десяти до пятнадцати. То есть A — это 10, B — 11, C — 12, D — 13, E — 14, а F — 15. Регистр не влияет на значение, поэтому 0xff и 0xFF — это одно и то же число.

HEX — это удобное для программистов сокращённое представление двоичного кода. Каждая шестнадцатеричная цифра соответствует ровно четырём битам, ведь четыре бита вмещают шестнадцать возможных значений, поэтому две шестнадцатеричные цифры идеально описывают один восьмибитный байт. Именно благодаря такому точному соответствию байты почти всегда записывают в HEX, а не длинными строками из единиц и нулей: так гораздо компактнее и читать намного легче.

Две шестнадцатеричные цифры на байт

Байт состоит из восьми битов и может принимать любое значение от 0 до 255. В шестнадцатеричном виде этот диапазон записывается ровно двумя цифрами, от 00 до FF, где FF равно 255. Левая цифра обозначает старшие четыре бита с весом шестнадцать, а правая — младшие четыре бита с весом единица. Чтобы найти значение байта, умножьте левую цифру на 16 и прибавьте правую.

Этот инструмент всегда записывает каждый байт двузначной шестнадцатеричной парой, при необходимости дополняя его ведущим нулём, поэтому байт со значением 5 отображается как 05, а не просто 5. Фиксированная ширина в две цифры выравнивает байты, и шестнадцатеричный дамп читается однозначно. Цифры можно выводить строчными или прописными буквами, а байты разделять пробелами или записывать слитно.

От символа к HEX, шаг за шагом

Преобразование символа в HEX выполняется в два шага: получить его байтовое значение, а затем записать это значение в системе с основанием 16. Для символов ASCII байтовое значение совпадает с привычной кодовой позицией. Заглавная A в десятичной системе — это 65. Чтобы перевести 65 в HEX, разделите на 16: 65 — это 4 раза по 16 (то есть 64) с остатком 1, поэтому старшая цифра — 4, а младшая — 1, что даёт 0x41.

Именно поэтому A = 0x41 — одно из самых узнаваемых значений в вычислительной технике. Тем же способом строчная a с кодом 97 даёт 0x61 (6 раз по 16 — это 96, остаток 1), а символ пробела с кодом 32 — 0x20 (2 раза по 16 — это 32, остаток 0). В обратную сторону: умножьте первую шестнадцатеричную цифру на 16 и прибавьте вторую, чтобы восстановить десятичный код, а затем найдите соответствующий символ.

Разбор примера: кодирование слова «Hex»

Пропустим три буквы H, e, x через преобразование. H имеет код 72; деление на 16 даёт 4 с остатком 8, поэтому это 0x48. Буква e имеет код 101; это 6 раз по 16 (96) с остатком 5, то есть 0x65. Буква x имеет код 120; это 7 раз по 16 (112) с остатком 8, то есть 0x78.

В виде дампа прописными буквами с разделением пробелами слово «Hex» превращается в 48 65 78. Строчными буквами и без разделителя это 486578. Декодирование обращает арифметику вспять: 48 — это 4 раза по 16 плюс 8, то есть 72, то есть H; 65 — это 101, то есть e; 78 — это 120, то есть x, и так восстанавливается исходное слово.

ASCII против UTF-8 и многобайтовые символы

Правило «один символ — две цифры» строго работает только для исходного набора ASCII, кодовые позиции от 0 до 127. Для всего остального — букв с диакритикой, нелатинских письменностей, символов и эмодзи — этот инструмент использует UTF-8 с переменной шириной. Символ ASCII занимает один байт, а значит, одну шестнадцатеричную пару, но другие символы занимают два, три или четыре байта, а значит, две, три или четыре шестнадцатеричные пары.

Например, буква é с диакритикой — это два байта UTF-8, 0xC3 и 0xA9, поэтому она преобразуется в HEX C3 A9, а не в одну пару. Распространённое эмодзи занимает четыре байта и превращается в четыре шестнадцатеричные пары. Вот почему текст не на английском даёт больше HEX, чем число видимых символов, и это стоит помнить, когда вы считаете байты, а не буквы.

Гибкое декодирование

Режим «HEX в текст» читает ввод по две цифры за раз и намеренно нетребователен к форматированию. Пробелы, запятые и двоеточия между байтами игнорируются, поэтому сплошная запись вида 486578, дамп с пробелами вида 48 65 78 и дамп с двоеточиями вида 48:65:78 декодируются в одно и то же слово. Допускаются как строчные, так и прописные буквы в любом сочетании.

Всё же должны соблюдаться два правила: ввод может содержать только допустимые шестнадцатеричные символы (0-9 и A-F, а также игнорируемые разделители), и число шестнадцатеричных цифр должно быть чётным, ведь каждому байту нужны ровно две. Ошибка преобразования почти всегда означает, что в ввод затесался посторонний символ, не относящийся к HEX, либо число цифр оказалось нечётным — возможно, в одном из байтов не хватает цифры. Исправьте это, и декодирование завершится успешно.

Где применяется HEX

Шестнадцатеричный код встречается в программировании и отладке повсюду. Адреса памяти, смещения байтов и дампы необработанных данных показывают в HEX, потому что две цифры так аккуратно соответствуют одному байту. Когда вы изучаете файл или сетевой пакет в шестнадцатеричном редакторе, вы читаете именно такой вывод, какой выдаёт этот инструмент. HEX также компактно кодирует двоичные идентификаторы, например хеши и UUID.

Скорее всего, вы встречали HEX и за пределами байтовых дампов. CSS и инструменты дизайна записывают цвета шестнадцатеричными тройками вроде #FF8800, где каждая пара — это интенсивность красного, зелёного и синего от 00 до FF. Во многих языках escape-последовательности символов используют HEX, как в \x41, что означает букву A. Преобразование текста в HEX — это быстрый способ изучить точные байтовые значения, стоящие за строкой, проверить кодировку или подготовить данные для контекста, который ожидает шестнадцатеричный формат.

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

Как текст преобразуется в шестнадцатеричный код?
Каждый символ кодируется в байты UTF-8, и каждый байт записывается как двузначное шестнадцатеричное число от 00 до FF. Обычные латинские буквы дают по одному байту, тогда как буквы с диакритическими знаками, символы и эмодзи занимают от двух до четырёх байтов.
Поддерживаются ли эмодзи и текст не на английском языке?
Да. Поскольку инструмент использует UTF-8, он обрабатывает любой символ Unicode — буквы с диакритикой, кириллицу, греческий, китайский, японский, арабский, эмодзи и многое другое. Они кодируются в правильные многобайтовые последовательности и декодируются обратно без потерь.
Какие форматы HEX принимает декодер?
Декодер «HEX в текст» читает двузначные байты и нетребователен к форматированию. Пробелы, запятые и двоеточия между байтами игнорируются, поэтому подойдёт и сплошной HEX, и байты, разделённые пробелами, и дампы с двоеточиями. Допускаются как строчные, так и прописные буквы.
Почему возникла ошибка преобразования?
Декодирование не выполняется, если HEX содержит символы, отличные от 0-9 и A-F, или если число цифр нечётное. Каждому байту нужны ровно две шестнадцатеричные цифры, поэтому удалите лишние символы и убедитесь, что длина чётная, — тогда преобразование пройдёт успешно.
Загружаются ли мои данные на сервер?
Нет. Всё преобразование происходит полностью в вашем браузере. Ваш текст никогда не загружается, не записывается в журнал и не сохраняется, поэтому он остаётся полностью конфиденциальным, а инструмент продолжает работать даже офлайн.

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

Продолжайте работу с этими удобными инструментами

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

Переводчик азбуки Морзе

Переводчик фонетического алфавита НАТО

Переводчик Брайля

Шифр Цезаря

Шифр Виженера