Как перевести текст в hex
- Введите или вставьте текст. Поддерживаются любые языки, включая русский, и эмодзи.
- Выберите кодировку (стандарт — UTF-8), регистр букв и разделитель байтов. Отметьте Перенос строки каждые 16 байт, чтобы получить вид hex-дампа.
- Скопируйте hex-строку или скачайте её в виде текстового файла.
Как текст переводится в hex
Компьютер хранит текст в виде байтов. Конвертер находит байтовое значение каждого символа в выбранной кодировке и записывает его двумя hex-цифрами. В ASCII и UTF-8 A — это 65 = 41, a — 97 = 61, а пробел — 32 = 20, поэтому «Hi!» превращается в 48 69 21. Кириллица в UTF-8 занимает по два байта на букву: «Привет» — это D0 9F D1 80 D0 B8 D0 B2 D0 B5 D1 82.
| Символ | Десятичное | Hex |
|---|---|---|
A … Z | 65 … 90 | 41 … 5A |
a … z | 97 … 122 | 61 … 7A |
0 … 9 | 48 … 57 | 30 … 39 |
| Пробел | 32 | 20 |
! | 33 | 21 |
| Новая строка | 10 | 0A |
Сравнение UTF-8, Latin-1 и UTF-16
Один и тот же символ в разных кодировках может давать разные байты. Для веба, JSON и большинства файлов правильный выбор — UTF-8; другую кодировку используйте, только если её ожидает принимающая система.
| Текст | UTF-8 | Windows-1252 | UTF-16 LE |
|---|---|---|---|
A | 41 | 41 | 41 00 |
é | C3 A9 | E9 | E9 00 |
€ | E2 82 AC | 80 | AC 20 |
| 😀 | F0 9F 98 80 | недоступно | 3D D8 00 DE |
Как перевести строку в hex программно
- Python:
'Hello'.encode().hex()возвращает48656c6c6f;.hex(' ')добавляет пробелы. - Node.js:
Buffer.from('Hello').toString('hex') - JavaScript в браузере:
[...new TextEncoder().encode('Hello')].map((b) => b.toString(16).padStart(2, '0')).join('') - Linux и macOS:
echo -n 'Hello' | xxd -p
Часто задаваемые вопросы
Перевод текста в hex — то же самое, что ASCII в hex?
Для латинских букв, цифр и знаков препинания — да: ASCII и UTF-8 дают одинаковые байты. Символы вроде é, ß, Ж, 中 или эмодзи в ASCII не входят; UTF-8 кодирует каждый из них 2–4 байтами.
Почему один символ даёт несколько hex-байтов?
В UTF-8 только символы ASCII занимают один байт. é превращается в C3 A9, € — в E2 82 AC, русские буквы — в два байта, а большинство эмодзи — в четыре. Выберите UTF-16 или Latin-1, если целевая система ожидает эти кодировки.
Какой разделитель выбрать?
Без разделителя — для хешей и компактных строк, пробелы — для удобочитаемых hex-дампов, двоеточия — для MAC-адресов и отпечатков сертификатов, 0x48, 0x65 — для массивов в C, C# или Java, а \x48 — для строковых литералов в C, Python или shell-скриптах.
Как перевести hex обратно в текст?
Нажмите Поменять местами: hex переместится в поле ввода и будет декодирован в той же кодировке. Декодер понимает все разделители, доступные здесь.