Hex kódolás

Illessze be a szöveget alább, és kattintson a Kódolás gombra a hexadecimális karakterlánccá való konvertáláshoz. Az összes feldolgozás helyben, a böngészőjében történik.

Másolva!

Mi az a Hex kódolás?

A hexadecimális kódolás az adatok minden bájtját kétkarakteres hex karakterlánccá alakítja (00ff). Hasznos bináris adatok vizsgálatához, hálózati protokollok hibakereséséhez és bájttömbök megjelenítéséhez a kódban.

Az egynél több bájtot használó UTF-8 karakterek több hex párt eredményeznek.

Az elválasztó és a betűméret önre van bízva: semmi a bájtok között tömör szöveghez, szóköz az olvashatóságért, vagy kettőspont abban a stílusban, ahogy az ujjlenyomatokat és MAC-címeket írni szokás. Minden a böngészőjében történik.

Valami nem akar dekódolódni?

Egy dekódolhatatlan adatcsomag általában tünet, nem maga a hiba: kettős kódolás valahol a folyamatban, feltételezett és nem deklarált karakterkészlet, vagy olyan bájtokra aláírt token, amelyek nem egészen azok, amikre bárki számított. Pontosan ilyesmin dolgozunk: integrációkon, API-kon és az adatot továbbadó rendszereken.

Mondja el, mi akadt el

Gyakran ismételt kérdések

Mire használják a hexadecimális kódolást?
A hexadecimálishoz akkor nyúlunk, amikor embernek kell elolvasnia a bájtokat. Hasheket, ellenőrzőösszegeket, kriptográfiai kulcsokat, színértékeket, MAC-címeket, memóriakiírásokat és csomagrögzítéseket mind hexadecimálisan mutatnak, mert minden bájtból pontosan két karakter lesz, így a helyek oszlopba rendeződnek, és egyetlen hibás bájt is azonnal szembetűnik. Ez a szokásos módja annak is, hogy bináris adatot illesszünk forráskódba.
Miben különbözik a hexadecimális kódolás a Base64-től?
A hexadecimális többe kerül és jobban olvasható. Minden bájtból két karakter lesz, tehát a kimenet pontosan a bemenet kétszerese, míg a Base64 körülbelül egyharmaddal nő. Cserébe a hexadecimálisnak rögzített és nyilvánvaló megfeleltetése van: rá lehet mutatni egy párra és tudni, melyik bájt az, szemmel számolni az eltolásokat, és úgy megváltoztatni egy bájtot, hogy a környezete érintetlen marad. A Base64 ott nyer, ahol a méret számít, a hexadecimális ott, ahol ember néz rá.
Miért lesz egyetlen karakterből néha több hexadecimális pár?
Mert a hexadecimális bájtokat kódol, nem karaktereket, a szöveg pedig UTF-8 útján lesz bájtokká. Ami az ASCII tartományba esik, az egy bájt, tehát egy pár. Az ékezetes latin betűk, a görög és a cirill két bájtot, a legtöbb kínai, japán és koreai írásjel hármat, az emodzsik négyet foglalnak. Egy ötkarakteres szövegből így könnyen húsz pár lesz.
Melyik elválasztót válasszam?
Attól függ, hová megy a kimenet. Ha nincs semmi a bájtok között, azt várja a kód és a legtöbb API, és ez a legrövidebb is. A szóköz olvashatóvá tesz egy hosszú szöveget, és ez látszik a dumpokban. A kettőspont a tanúsítvány-ujjlenyomatok és MAC-címek bevett jelölése. A bájtok mindhárom esetben azonosak, csak a köztük lévő írásjel változik.
A hexadecimális kódolás ugyanaz, mint a hashelés?
Nem, bár a kettő rendszerint együtt jár. A hash egyirányú függvény: bármilyen bemenetet rögzített méretű lenyomattá zsugorít, amit nem lehet visszaalakítani az eredetivé. A hexadecimális visszafordítható módja a bájtok leírásának. A hasheket szokás szerint hexadecimálisan jelenítik meg, ezért hasonlítanak egymásra, de egy jelszó hexadecimális kódolása semmiféle védelmet nem ad, csak ugyanannak a jelszónak egy hosszabb változatát.