Конвертер текст ↔ hex / двійковий
Перетворюйте текст на шістнадцяткові, двійкові чи десяткові байти й декодуйте дампи назад
Про цей інструмент
Побачте точно, з яких байтів складається ваш текст: цей інструмент кодує текст у UTF-8 і показує його як шістнадцяткові, двійкові чи десяткові значення байтів — з обраним вами роздільником, регістром і префіксами 0x. Декодер працює у зворотний бік і навмисне терпимий: він приймає суцільні послідовності (48656c6c6f), пари через пробіл, розділений двокрапками запис у стилі MAC-адрес та escape-послідовності \x.
Оскільки кодування побайтове в UTF-8, багатобайтові символи показані такими, якими вони справді існують у пам’яті й на дроті: é це c3 a9, 世 це e4 b8 96, а емодзі займає чотири байти. Це робить інструмент найшвидшим способом налагодити невідповідності кодувань, загадки з BOM і питання «чому цей рядок довший, ніж виглядає».
Якщо декодовані байти не є коректним UTF-8, інструмент так і каже, замість друкувати кракозябри — вагомий натяк, що перед вами двійкові дані, а не текст.
Часті запитання
- Чому один символ перетворюється на кілька байтів?
- UTF-8 має змінну ширину: ASCII лишається одним байтом, більшість європейських літер займають два, ієрогліфи три, емодзі чотири. Те, що ви бачите тут, — точна послідовність байтів, яку будь-яка система UTF-8 (файли, HTTP, бази даних) зберігає для вашого тексту.
- Які формати введення приймає декодер?
- Шістнадцяткові як суцільну послідовність, парами через пробіл, із префіксами 0x чи \x або розділені двокрапками/комами; двійкові як групи по 8 бітів з пробілами чи без; десяткові як розділені значення байтів. Змішані роздільники й заблукалі пробіли прибираються автоматично.
- Чому декодування каже, що байти не є коректним UTF-8?
- Послідовність байтів порушує правила UTF-8 — наприклад, самотній ff або байт продовження без провідного байта. Дані можуть бути двійковими, у застарілому кодуванні на кшталт Latin-1 або обрізаними посеред символу.
- Чи це те саме, що шістнадцятковий дамп із xxd?
- Значення байтів ідентичні; xxd додає зміщення та колонку ASCII. Вставте шістнадцяткові колонки дампа xxd сюди (без колонки зміщень) — і все декодується нормально.