TextArray
100% helyi

Hex szövegre és vissza

Alakítsd a szöveget hexadecimális alakra és a hexet vissza szöveggé, bájtról bájtra UTF-8-ban.

Bemenet
Kimenet

Hex szövegre és vissza

A hexadecimális írásmód a bájtok emberi olvasásra szánt alakja: bájtonként két számjegy, 00-tól ff-ig. Illessz be szöveget, és látod a mögötte álló pontos UTF-8 bájtokat, vagy illessz be egy hexkiíratást naplóból, csomagelemzőből vagy debuggerből, és olvasd vissza az üzenetet. A mód választója fordítja meg az irányt, az eredmény pedig gépelés közben frissül.

A kimenet alakját az elválasztó dönti el. A szóközzel tagolt párok a klasszikus kiíratási formátum, ezt lehet szemmel a legkönnyebben átfutni. Az egybefüggő hex úgy néz ki, mint az ellenőrzőösszegek, a színértékek és az adatbázis bináris oszlopai. A 0x előtag a C, a Go és a Rust bájtliterjaihoz illik, a \x előtag a Python bytes objektumaihoz és a shell escape-jeihez. A nagybetűs jegyek azért vannak, mert sok formátum A-F alakot vár a-f helyett.

A hex visszaolvasása szándékosan elnéző, mert a valódi hex rendetlenül érkezik. A szóközöket, tabulátorokat és sortöréseket az eszköz figyelmen kívül hagyja, a 0x és \x előtagot bárhol eltávolítja, a kis- és nagybetűk pedig keveredhetnek — egy stack trace-ből kimásolt érték így általában elsőre működik. Két dolgot találgatás helyett jelez: a páratlan számú számjegyet, ami azt jelenti, hogy egy elveszett, és a 0-9 a-f tartományon kívüli karaktereket. Az érvénytelen UTF-8 bájtok helyére csereszimbólum kerül, így látszik, hol tört meg a sorozat.

Minden a böngésződben fut, annak beépített UTF-8 kódolójával. Semmi nem töltődik fel, ami akkor számít, ha a vizsgált hex adatcsomagból, tokenből vagy magánfájlból származik. A kimenet alatti összegzés a karaktereket a bájtokkal állítja szembe, így a többbájtos karakterek azonnal kitűnnek: egy emoji négy bájt, egy ékezetes betű kettő.

Gyakori kérdések

Miért hosszabb a hex, mint a szövegem?
Minden bájt két hexadecimális jegyet foglal, a szöveg pedig UTF-8-ban kódolódik — az ASCII karakterenként egy bájt, az ékezetes betűk kettő, az emojik négy. Egy 5 karakteres szó így könnyen 8 bájt és 16 jegy.
Milyen hexformátumokat tud beolvasni?
Mindegyiket, amit maga is ír, és a legtöbb továbbit: szóközzel tagolt párokat, egybefüggő láncot, 0x és \x előtagú bájtokat, kis- és nagybetűvel, tetszőleges számú sorra tördelve. A szóközök és az előtagok a dekódolás előtt eltűnnek.
Miért kapok páratlan számjegyszámra hivatkozó hibát?
Egy bájt mindig két jegy, a páratlan darabszám tehát azt jelenti, hogy egy elveszett — általában félbevágott másolás miatt. Nézd meg a lánc elejét és végét. A vesszőt és az egyéb írásjeleket az eszköz nem fogadja el elválasztóként: töröld őket, vagy tagold a bájtokat szóközzel.
Mik azok a fekete rombuszok a dekódolt szövegben?
Ez az U+FFFD karakter, amely mindenütt megjelenik, ahol a bájtok nem érvényes UTF-8-at alkotnak — jellemzően azért, mert a hex bináris adatból vagy más kódolású, például Windows-1250-es szövegből származik.
Feltöltődik valahová a szövegem?
Nem. Az átalakítás teljes egészében a böngésződben fut, és a szöveg soha nem hagyja el az eszközödet.