Che cos’è l’esadecimale
Per convertire da esadecimale a testo serve sapere cos’è l’esadecimale, o hex: un sistema numerico in base 16. Usa le cifre da 0 a 9 e le lettere da A a F, dove A vale 10 e F vale 15. Due cifre esadecimali rappresentano qualsiasi valore da 0 a 255, cioè esattamente un byte. Per questo l’esadecimale è un modo compatto e leggibile di mostrare dati grezzi.
L’esadecimale si trova nei dump di memoria, nelle catture di pacchetti di rete, nelle firme dei file, nei codici colore, nelle sequenze di escape del codice sorgente e nei log di errore. Ritrasformare quei byte in testo spesso ti dice cosa contengono i dati.
Come usare il convertitore da esadecimale a testo
Da hex a testo. Incolla l’esadecimale nel riquadro Hex a sinistra. Il testo decodificato compare nel riquadro Testo a destra. Il convertitore ignora i separatori più comuni, quindi puoi incollare:
- byte separati da spazi:
48 65 6c 6c 6f - un’unica stringa lunga:
48656c6c6f - prefissi in stile C:
0x48 0x65 0x6c - sequenze di escape:
\x48\x65\x6c - byte separati da due punti o virgole:
48:65:6c:6c:6f
Da testo a hex. Scrivi nel riquadro Testo a destra. L’esadecimale compare a sinistra.
Formato hex stabilisce come viene scritto l’esadecimale:
- Con spazi: 48 65 6c per leggere e confrontare
- Unito: 48656c per una memorizzazione compatta e stringhe in stile hash
- Con prefisso: 0x48 0x65 per C, C++ e codice simile
- Con escape: \x48\x65 per le stringhe letterali in Python, JavaScript e script di shell
Maiuscole A-F scrive le lettere in maiuscolo. Copia prende il contenuto di uno dei due riquadri e Cancella li svuota entrambi.
Come funziona
Per decodificare, il convertitore toglie i separatori, verifica che restino solo cifre esadecimali e che siano in numero pari, poi legge ogni coppia di cifre come un byte. I byte vengono decodificati come testo UTF-8. Per codificare fa l’opposto: il testo diventa byte UTF-8 e ogni byte diventa due cifre esadecimali.
Ogni cifra esadecimale rappresenta 4 bit. Il byte 48 vale 4 × 16 + 8 = 72, che è il codice della H maiuscola.
Esempi
| Hex | Testo |
|---|---|
41 |
A |
48 69 21 |
Hi! |
48 65 6c 6c 6f |
Hello |
48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21 |
Hello, World! |
63 61 66 c3 a9 |
café |
e2 82 ac |
€ |
Le vocali accentate dell’italiano funzionano allo stesso modo: città in esadecimale è 63 69 74 74 c3 a0, con la à scritta su due byte.
Lo stesso testo in ciascun formato di output:
| Formato | café |
|---|---|
| Con spazi | 63 61 66 c3 a9 |
| Unito, maiuscole | 636166C3A9 |
| Con prefisso | 0x63 0x61 0x66 0xc3 0xa9 |
| Con escape | \x63\x61\x66\xc3\xa9 |
Valori esadecimali comuni
| Hex | Carattere | Hex | Carattere |
|---|---|---|---|
20 |
spazio | 30 |
0 |
0a |
a capo | 41 |
A |
0d |
ritorno a capo (CR) | 61 |
a |
09 |
tabulazione | 7e |
~ |
Consigli e limiti
- Un output senza senso di solito significa che i dati non sono testo. Immagini, file compressi e dati cifrati diventano simboli strani e caratteri di sostituzione. È normale.
- Controlla l’ordine dei byte nei numeri. Questo strumento legge i byte nell’ordine in cui li incolli. Nei dump di memoria i numeri su più byte sono spesso salvati in little endian, quindi vanno letti da destra a sinistra.
- I codici colore esadecimali non sono testo.
#ff8800descrive i livelli di rosso, verde e blu, non delle lettere. - L’esadecimale non è crittografia. È semplicemente un altro modo di scrivere i byte.
Altri modi per convertire l’esadecimale
Riga di comando. Su Linux e macOS, xxd -p trasforma un file in hex semplice e xxd -r -p lo riporta indietro. echo -n Hello | xxd -p stampa 48656c6c6f.
Python. bytes.fromhex('48656c6c6f').decode() restituisce Hello, e 'Hello'.encode().hex() restituisce 48656c6c6f.
JavaScript (Node). Buffer.from('48656c6c6f', 'hex').toString() restituisce Hello.
Excel. =CHAR(HEX2DEC("48")) restituisce H per i singoli byte ASCII. =DEC2HEX(72) fa il contrario. Nell’Excel italiano diventano =CODICE.CARATT(HEX.DECIMALE("48")) e =DECIMALE.HEX(72).
Strumenti correlati
Per vedere gli stessi byte come uno e zero, usa il traduttore di codice binario. Lo strumento di codifica UTF-8 mostra ogni carattere con il suo code point e i suoi byte. Se i tuoi dati sono in Base64 e non in esadecimale, usa la decodifica Base64.