Leggere un hex dump
Un hex dump mostra un file per quello che è davvero: una sequenza di byte. Ogni riga ha tre colonne. L’offset a sinistra è la posizione del primo byte di quella riga, in hex. Al centro ogni byte è mostrato come due cifre hex. La colonna di destra mostra gli stessi byte come caratteri ASCII, con un punto per tutto ciò che non è stampabile. Il formato è lo stesso che stampano xxd, hexdump -C e od -A x -t x1z.
Magic byte
La maggior parte dei formati di file inizia con una firma fissa, ed è così che gli strumenti li identificano a prescindere dall’estensione:
| Primi byte | ASCII | Formato |
|---|---|---|
| 89 50 4E 47 0D 0A 1A 0A | .PNG.... | Immagine PNG |
| FF D8 FF | ... | Immagine JPEG |
| 47 49 46 38 | GIF8 | Immagine GIF |
| 25 50 44 46 | ||
| 50 4B 03 04 | PK.. | ZIP (anche DOCX, XLSX, JAR, APK) |
| 1F 8B | .. | gzip |
| 7F 45 4C 46 | .ELF | Eseguibile Linux |
| 4D 5A | MZ | Eseguibile Windows (EXE, DLL) |
| CA FE BA BE | .... | File class Java / binario fat Mach-O |
| EF BB BF | ... | Byte order mark UTF-8 (file di testo) |
| 53 51 4C 69 74 65 | SQLite | Database SQLite |
Cosa rivela un hex dump
- Fine riga:
0Aè Unix (LF),0D 0Aè Windows (CRLF). - Un BOM (
EF BB BF) all’inizio di un file di testo «semplice», che rompe alcuni parser. - Caratteri invisibili: spazi unificatori (
C2 A0), zero-width joiner (E2 80 8D), virgolette tipografiche (E2 80 9C), che in un editor sembrano caratteri ordinari. - Spazi finali e padding NUL alla fine dei campi.
Domande
Che differenza c’è tra xxd e hexdump?
Mostrano le stesse informazioni con layout leggermente diversi. xxd raggruppa i byte a coppie ed è reversibile (xxd -r ricostruisce il file); hexdump -C usa byte singoli con una | attorno alla colonna ASCII. Questo visualizzatore segue il layout di hexdump -C.
Perché alcuni caratteri sono mostrati come punti?
I byte fuori dall’intervallo ASCII stampabile (32–126) non hanno un singolo carattere visibile, quindi nella colonna di destra vengono disegnati come un punto. La colonna hex mostra comunque il valore reale.
Posso modificare i byte qui?
Non in questa versione; è un visualizzatore. Per modificare, usa un editor hex come hexedit, ImHex o l’estensione Hex Editor per VS Code.
C’è un limite di dimensione?
Sono accettati file fino a 8 MB, e vengono visualizzati i primi 64 KB perché la pagina resti veloce. Il tipo di file viene riconosciuto dai primi byte.
Il mio file viene caricato?
No. Il browser lo legge in locale con la File API e il dump viene prodotto in JavaScript sulla tua macchina.