TextArray
100% lokálně

Hex na text a zpět

Převeďte text na hexadecimální zápis a hex zpět na text, bajt po bajtu v UTF-8.

Vstup
Výstup

Hex na text a zpět

Hexadecimální zápis je způsob, jakým se píšou bajty, když je má číst člověk: dvě číslice na bajt, od 00 po ff. Vložte text a uvidíte přesné bajty UTF-8, které se za ním skrývají, nebo vložte hex výpis z logu, zachyceného paketu či debuggeru a přečtěte si zprávu zpátky. Volba režimu přepíná směr a výsledek se mění rovnou při psaní.

Podobu výstupu určuje oddělovač. Dvojice oddělené mezerou jsou klasický formát výpisu a nejlíp se čtou okem. Souvislý hex bez mezer vypadá jako kontrolní součty, hodnoty barev nebo binární sloupce v databázi. Předpona 0x sedí bajtovým literálům v jazycích C, Go a Rust, předpona \x odpovídá objektům bytes v Pythonu a escapování v shellu. Velká písmena jsou tu pro formáty, které čekají A-F místo a-f.

Čtení hexu zpět je záměrně shovívavé, protože skutečný hex chodí v nepořádku. Mezery, tabulátory a zalomení řádků nástroj ignoruje, předpony 0x a \x odstraní, kdekoli se objeví, a velká i malá písmena se můžou míchat — hodnota zkopírovaná ze stack trace tak obvykle funguje napoprvé. Dvě věci nástroj místo hádání ohlásí: lichý počet číslic, což znamená, že jedna chybí, a znaky mimo rozsah 0-9 a-f. Bajty, které nejsou platné UTF-8, se dekódují na náhradní znak, takže vidíte, kde se sekvence zlomila.

Všechno běží ve vašem prohlížeči přes jeho vestavěný kodér UTF-8. Nic se nikam nenahrává, což se hodí, když zkoumaný hex pochází z payloadu, tokenu nebo soukromého souboru. Přehled pod výstupem porovnává znaky s bajty, takže vícebajtové znaky snadno odhalíte: emoji stojí čtyři bajty, písmeno s diakritikou dva.

Časté dotazy

Proč je můj hex delší než text?
Každý bajt zabere dvě hex číslice a text se kóduje jako UTF-8 — kde ASCII má jeden bajt na znak, písmena s diakritikou dva a emoji čtyři. Pětiznakové slovo tak může mít 8 bajtů a 16 číslic.
Jaké formáty hexu umí přečíst?
Všechny, které sám píše, i většinu ostatních: dvojice oddělené mezerou, souvislý řetězec, bajty s předponou 0x i \x, velká i malá písmena, rozdělené na libovolný počet řádků. Mezery a předpony se před dekódováním odstraní.
Proč dostávám chybu o lichém počtu číslic?
Bajt má vždy dvě číslice, takže lichý počet znamená, že se jedna ztratila — obvykle při neúplném zkopírování. Zkontrolujte začátek a konec řetězce. Čárky a jinou interpunkci nástroj jako oddělovač nepřijímá — odstraňte je, nebo bajty oddělte mezerou.
Co jsou ty černé kosočtverce v dekódovaném textu?
Je to znak U+FFFD, který se zobrazí všude, kde bajty nejsou platné UTF-8 — typicky proto, že hex pochází z binárních dat nebo z textu v jiném kódování, třeba Windows-1250.
Nahrává se můj text někam?
Ne. Převod běží výhradně ve vašem prohlížeči a text nikdy neopustí vaše zařízení.