Codificare Hex

Lipiți textul mai jos și faceți clic pe Codifică pentru a-l converti într-un șir hexazecimal. Toată procesarea are loc local în browserul dvs.

Copiat!

Ce este codificarea hexazecimală?

Codificarea hexazecimală convertește fiecare octet de date într-un șir hex de două caractere (00ff). Aceasta este utilă pentru inspectarea datelor binare, depanarea protocoalelor de rețea și reprezentarea tablourilor de octeți în cod.

Caracterele UTF-8 care folosesc mai mult de un octet vor produce mai multe perechi hex.

Separatorul și scrierea cu majuscule sau minuscule sunt la alegerea dumneavoastră: nimic între octeți pentru un șir compact, spații pentru lizibilitate, sau două puncte în stilul în care se scriu de obicei amprentele și adresele MAC. Totul se petrece în browser.

Depanați ceva ce refuză să se decodifice?

Un payload care refuză să se decodifice este de obicei un simptom, nu defectul: o dublă codificare undeva pe traseu, un set de caractere presupus în loc să fie declarat, un token semnat peste octeți care nu sunt chiar cei așteptați. Exact asta lucrăm noi, pe integrări, API-uri și sistemele care își pasează date între ele.

Spuneți-ne ce se strică

Întrebări frecvente

La ce se folosește codificarea hexazecimală?
La hexazecimal apelezi când un om trebuie să citească octeții. Sumele de dispersie, sumele de control, cheile criptografice, valorile de culoare, adresele MAC, dumpurile de memorie și capturile de pachete sunt toate arătate în hexazecimal, fiindcă fiecare octet devine exact două caractere, așa că pozițiile se aliniază pe coloane și un singur octet greșit sare în ochi. Este și modul obișnuit de a lipi date binare în codul sursă.
Prin ce diferă codificarea hexazecimală de Base64?
Hexazecimalul costă mai mult și se citește mai bine. Fiecare octet devine două caractere, deci rezultatul este exact dublul intrării, în timp ce Base64 crește cu vreo o treime. În schimb, hexazecimalul are o corespondență fixă și evidentă: poți arăta o pereche și știi ce octet este, poți număra deplasările din ochi și poți schimba un octet fără să atingi ce e în jur. Base64 câștigă unde contează dimensiunea, hexazecimalul unde se uită un om.
De ce un singur caracter devine uneori mai multe perechi hexazecimale?
Pentru că hexazecimalul codifică octeți, nu caractere, iar textul devine octeți prin UTF-8. Tot ce intră în domeniul ASCII este un octet și deci o pereche. Literele latine cu diacritice, greaca și chirilica ocupă doi octeți, majoritatea caracterelor chineze, japoneze și coreene ocupă trei, iar emoji ocupă patru. Așa că un șir de cinci caractere poate ieși lejer ca douăzeci de perechi.
Ce separator ar trebui să aleg?
Depinde unde ajunge rezultatul. Nimic între octeți este ce așteaptă codul și majoritatea API-urilor, și este și cel mai scurt. Spațiile fac lizibil un șir lung și sunt ce se vede într-un dump. Două puncte reprezintă convenția pentru amprentele de certificate și adresele MAC. Octeții sunt identici în toate trei; se schimbă doar punctuația dintre ei.
Codificarea hexazecimală este același lucru cu hashingul?
Nu, deși cele două se văd de obicei împreună. O sumă de dispersie este o funcție într-un singur sens: reduce orice intrare la o amprentă de dimensiune fixă, care nu poate fi adusă înapoi la original. Hexazecimalul este un mod reversibil de a scrie octeți. Sumele de dispersie se afișează de regulă în hexazecimal, de aceea seamănă între ele, dar codificarea unei parole în hexazecimal nu oferă absolut nicio protecție, ci doar o versiune mai lungă a aceleiași parole.