Перейти до вмісту
TextArray
100% локально

Шістнадцятковий до тексту і назад

Перетворюйте текст у шістнадцятковий і шістнадцятковий назад у текст, байт за байтом у UTF-8.

Введення

Шістнадцятковий до тексту і назад

Шістнадцятковий – це те, як байти записуються, коли людям потрібно їх прочитати: дві цифри на байт, від 00 до ff. Вставте текст, щоб побачити точні байти UTF-8 за ним, або вставте шістнадцятковий дамп із журналу, захоплення пакетів чи налагоджувача та прочитайте повідомлення назад. Селектор режиму змінює напрямок, і результат оновлюється під час введення.

Опція роздільника визначає форму виводу. Пари, розділені пробілами, є класичним форматом дампа, і їх найпростіше сканувати на око. Нерозділений шістнадцятковий формат – це те, як виглядають контрольні суми, значення кольорів і стовпці blob бази даних. Префікс 0x підходить для байтових літералів C, Go та Rust; префікс \\x відповідає об'єктам Python bytes і вихідним кодам оболонки. Великі цифри є для багатьох форматів, які передбачають A-F, а не a-f.

Читання гекса назад навмисно толерантне, тому що справжній гекс надходить безладно. Пробіли, табуляції та розриви рядків ігноруються, префікси 0x і \\x видаляються скрізь, де вони з’являються, а верхній і нижній регістри вільно змішуються — тому копіювання та вставлення з трасування стека зазвичай просто працює. Замість вгадування повідомляється дві речі: непарна кількість цифр, що означає, що цифра пропущена, і символи за межами 0-9 a-f. Байти, які не є дійсними UTF-8, декодуються до символу заміни, тому ви все ще можете бачити, де послідовність порушилася.

Усе працює у вашому браузері за допомогою вбудованого кодувальника UTF-8. Нічого не завантажується, що має значення, коли гекс, який ви перевіряєте, походить із корисного навантаження, маркера чи приватного файлу. Підрахунок під результатом показує символи проти байтів, тому багатобайтові символи легко помітити: емодзі коштує чотири байти, літера з наголосом — два.

FAQ

Чому мій hex довший за мій текст?
Кожен байт складається з двох шістнадцяткових цифр, а текст кодується як UTF-8 — де ASCII — один байт на символ, літери з акцентами — два, а емодзі — чотири. Слово з 5 символів може легко складатися з 8 байтів і 16 цифр.
Які шістнадцяткові формати він може читати?
Усі, які він записує, та більшість інших: пари з інтервалами, нерозривні рядки, байти з префіксом 0x і \x, верхній чи нижній регістр, розподілені на скільки завгодно рядків. Пробіли та префікси видаляються перед декодуванням.
Чому я отримую помилку непарної кількості цифр?
Байт завжди складається з двох цифр, тому непарна кількість означає, що одну втрачено, як правило, для скороченої копії. Перевірте початок і кінець рядка. Коми та інші знаки пунктуації не приймаються як роздільники — видаліть їх або розділіть байти.
Що означають символи чорного ромба в розшифрованому тексті?
Це U+FFFD, який відображається скрізь, де байти не є дійсними UTF-8 — зазвичай через те, що шістнадцятковий код отримано з двійкових даних або з тексту в іншому кодуванні, наприклад Windows-1250.
Мій текст десь завантажено?
Ні. Перетворення повністю виконується у вашому браузері, і ваш текст ніколи не залишає ваш пристрій.