Cos'è un file Hex?
Un file HEX è un file di testo che contiene i dati per un programma per computer in formato esadecimale. In un file HEX, ogni riga contiene un record HEX. Questi record sono costituiti da numeri codificati in esadecimale corrispondenti a codici di linguaggio macchina o a dati costanti. I file HEX sono comunemente usati per trasferire programmi e dati da memorizzare in ROM o EPROM. La maggior parte dei programmatori o emulatori EPROM utilizza file HEX.
Formato file Hex
Un file HEX è costituito da un numero qualsiasi di record esadecimali. Ogni record contiene 5 campi, disposti nel seguente formato:
formato hex semplificato:
:llaaaatt[dd…]cc
File hex reale:
:10246200464C5549442050524F46494C4500464C33
Ogni set di lettere o numeri corrisponde a un campo diverso. Ogni campo è costituito da almeno due cifre codificate in esadecimale.
“:” è l’inizio di ogni record HEX.
“ll” e “10” sono il campo della lunghezza dei dati, rappresenta il numero di byte di dati (dd) nel record.
“aaaa” e “2462” sono il campo dell’indirizzo, rappresenta l’indirizzo di partenza dei dati nel record.
“tt” e “00” sono il campo che rappresenta il tipo di record HEX, può essere uno dei seguenti dati:
00 – registrazione dati
01 – record di fine file
02 – Record dell’indirizzo di segmento esteso
04 – Record dell’indirizzo lineare esteso
“dd…” e “464C5549442050524F46494C4500464C” sono il campo dei dati, rappresenta un byte di dati. Un record può avere molti byte di dati. Il numero di byte di dati nel record deve corrispondere al numero specificato nel campo della lunghezza dei dati (ll).
“cc” e “33” sono il campo del checksum, rappresenta il checksum di questo record. Il checksum viene calcolato sommando i valori di tutte le coppie di cifre codificate in esadecimale nel record, modulo 256, effettuando i seguenti complementi.
Come aprire un file Hex?
Ci sono diversi modi in cui puoi aprire un file hex, come software editor hex e editor hex online. Se hai un editor hex installato sul tuo computer, puoi semplicemente fare doppio clic sul file hex per aprirlo nell’editor. In alternativa, puoi fare clic con il pulsante destro del mouse sul file hex e selezionare “Apri con” dal menu contestuale, quindi scegliere un editor hex dall’elenco dei programmi.
1. Blocco note di Windows
Se non hai un editor esadecimale installato, puoi utilizzare il programma Blocco note integrato di Windows per aprire il file esadecimale. È il modo più semplice tra tutte le opzioni. Tuttavia, poiché i file esadecimali non sono destinati alla lettura umana, il contenuto del file apparirà probabilmente come un insieme di caratteri senza senso.

2. Software Editor Esadecimale
Esistono molti software di editor di file esadecimali disponibili, come Notepad++, ImHex, Free Hex Editor Neo, WinHex e altri. Ognuno ha le proprie caratteristiche e funzioni speciali, puoi scegliere quello più adatto a te.
2.1 Notepad++
Piattaforma accettabile: solo Windows
Notepad++ è un editor di codice sorgente gratuito e sostituto di Blocco note che supporta diversi linguaggi. È progettato per sistemi operativi Windows e può essere utilizzato per modificare HTML, CSS, JavaScript, PHP e altri linguaggi di programmazione. Offre l’evidenziazione della sintassi, il completamento automatico e altro ancora.
2.2 ImHex
Piattaforma accettabile: Windows, MacOS, Linux
ImHex è un potente editor esadecimale, appositamente progettato per reverse engineer e sviluppatori di programmi.
2.3 Free Hex Editor Neo
Piattaforma accettabile: Windows
HHD Software Ltd ha sviluppato Free Hex Editor Neo, un editor di file binari veloce per la piattaforma Windows. È disponibile gratuitamente e fornisce tutte le funzioni di editing di base. Naturalmente, è anche utile per analizzare i tuoi file esadecimali.
3. Editor Esadecimale Online
Se non hai un software di editor esadecimale sul tuo computer, puoi anche utilizzare un editor online come alternativa. Qui consigliamo un editor esadecimale online facile da usare: hexed.it
Come puoi vedere, questo editor esadecimale online è diviso in aree superiore, sinistra, centrale e destra.
La barra degli strumenti superiore include funzioni come la creazione di nuovi file, l’apertura di file e widget. Per aprire il tuo file esadecimale, devi semplicemente fare clic sul menu “apri file” sulla dashboard superiore.
A sinistra, c’è un ispettore di dati, che convertirà automaticamente varie basi in base al contenuto dei dati del file selezionati dal mouse.
L’area centrale è il contenuto del file e l’area destra contiene alcune informazioni sugli attributi del file.
File Esadecimale vs File Bin
I file HEX e i file BIN sono due formati di file che usiamo spesso. Di seguito è riportata una breve introduzione alla differenza tra i due formati di file:
- – Un file esadecimale è un file che contiene dati in formato esadecimale (base-16), mentre un file bin è un file che contiene dati binari.
- – I file esadecimali sono spesso utilizzati per firmware o altri dati che devono essere in un formato leggibile dall’uomo, mentre i file bin sono spesso utilizzati per dati che devono essere in un formato leggibile dalla macchina.
- – I file esadecimali sono in genere più grandi dei file bin, poiché ogni byte di dati occupa due caratteri in un file esadecimale (un carattere per ogni nibble), mentre ogni byte di dati occupa solo otto bit in un file bin.
File Esadecimale a Binario
Un file esadecimale è un file che contiene dati esadecimali. I dati esadecimali sono un modo per rappresentare i dati binari utilizzando il sistema numerico in base 16. Ogni byte di dati binari è rappresentato da due cifre esadecimali. Ad esempio, il valore byte di “11” sarebbe rappresentato come “0x11” in un file esadecimale.
Per convertire un file esadecimale in binario, è necessario prima capire come sono rappresentati i dati esadecimali. Ogni cifra esadecimale rappresenta quattro bit di dati. La prima cifra esadecimale è la cifra più significativa e la seconda cifra esadecimale è la cifra meno significativa. Ad esempio, il valore esadecimale “0x11” sarebbe rappresentato come segue in binario:
La cifra più significativa (1) rappresenta i seguenti valori binari:
0 0 0 1
La cifra meno significativa (1) rappresenta i seguenti valori binari:
0 0 0 1
Pertanto, il valore esadecimale “0x11” sarebbe equivalente al valore binario “00010001”.




