Decodificare Hex

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

Spațiile, două puncte, virgulele, cratimele și prefixele 0x sunt scoase înainte de decodificare.
Copiat!

Ce este decodificarea hexazecimală?

Decodificarea hexazecimală convertește un șir hexazecimal înapoi la reprezentarea sa originală în octeți, apoi la text. Intrarea poate conține spații, două puncte sau niciun separator între perechile hex.

Fiecare pereche de caractere hex (00ff) reprezintă un octet. Octeții decodificați sunt interpretați ca text UTF-8.

Spațiile, două puncte, virgulele, punctele și virgulă, punctele și cratimele sunt scoase înainte de decodificare, așa că hexazecimalul copiat direct dintr-o amprentă sau dintr-un dump merge de obicei fără curățenie. Octeții sunt apoi citiți ca UTF-8, iar ce nu este UTF-8 valid este semnalat, nu stricat.

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

De ce nu se decodifică șirul meu hexazecimal?
De obicei un număr impar de cifre, sau un caracter care nu este cifră hexazecimală. Fiecare octet cere exact două cifre, deci un număr impar înseamnă că ceva a fost tăiat sau că o cifră s-a pierdut pe drum. Un caracter rătăcit este adesea un l mic tastat în loc de 1, un O mare în loc de 0, sau coada unei linii copiate venită odată cu restul.
Pot lipi hexazecimal cu spații, două puncte sau prefixe 0x?
Spațiile, două puncte, virgulele, punctele și virgulă, punctele și cratimele sunt scoase toate înainte de decodificare, așa că hexazecimalul copiat direct dintr-o amprentă de certificat, dintr-o adresă MAC sau dintr-un dump merge de obicei fără curățenie. Un 0x în fața fiecărui octet nu este eliminat, așa că scoateți-le întâi dacă sursa dumneavoastră le are.
Ce se întâmplă dacă octeții decodificați nu sunt text?
Acesta este cazul normal, nu o eroare. Hexazecimalul este un mod de a scrie octeți, iar acei octeți adesea nu sunt deloc text. Această pagină îi decodifică drept UTF-8 și o spune limpede când nu sunt UTF-8 valid, în loc să tipărească semne de înlocuire și să vă lase să vă întrebați. Dacă așteptați text și nu l-ați primit, verificați dacă octeții sunt comprimați sau criptați.
De unde știu ce codificare de caractere folosesc octeții?
Din hexazecimal singur, nu aveți de unde. Nimic într-un șir hexazecimal nu consemnează ce codificare l-a produs; informația aceea trăiește în afara octeților, într-un antet HTTP, într-un format de fișier sau într-o specificație de protocol. Pagina aceasta presupune UTF-8, ceea ce este corect în marea majoritate a cazurilor, și de aceea o secvență nevalidă este raportată ca date binare, nu transformată pe tăcute în caractere stricate. Dacă știți că octeții sunt altceva, decodificați-i cu un instrument în care puteți numi codificarea.
Este reversibilă decodificarea hexazecimală?
Complet. Hexazecimalul este o substituție directă, două caractere pentru fiecare octet, fără să se piardă sau să se adauge ceva, așa că a codifica și a decodifica returnează exact octeții de la care ați pornit. Ce nu este întotdeauna reversibil este pasul de după: transformarea octeților înapoi în text cere codificarea potrivită, iar o secvență de octeți nevalidă în acea codificare nu are nicio formă textuală.