Glossario

Esadecimale

hexbase 16

L’esadecimale è una notazione in base 16 che usa i simboli 0–9 e A–F per rappresentare numeri e byte.

Definizione

L’esadecimale, o hex, è un sistema numerico posizionale in base 16. Usa da 0 a 9 e da A a F; A vale 10 in decimale e F vale 15.

È adatto a mostrare dati binari perché una cifra esadecimale corrisponde esattamente a 4 bit e due cifre rappresentano un byte da 00 a FF.

Come funziona

Come nel sistema decimale, ogni posizione ha un peso, ma si usano potenze di 16. Quindi 2F significa 2 × 16 + 15, cioè 47 in decimale. Maiuscole e minuscole hanno normalmente lo stesso valore.

I programmi antepongono spesso 0x a un numero esadecimale; le sequenze di byte possono includere spazi o due punti. Sono convenzioni di formato, non cifre esadecimali.

Esempio pratico

Il testo UTF-8 Hi è composto dai byte esadecimali 48 69. Convertendo le coppie in byte e interpretandole come UTF-8 si recupera Hi. Gli stessi byte sono SGk= in Base64.

Hex usa due caratteri di testo per byte: è facile da esaminare, ma occupa circa il doppio dei dati grezzi.

Interpretazione ed errori comuni

Una stringa hex non indica se i byte rappresentano testo, un numero, un file, un hash o testo cifrato. Per ottenere testo serve anche la corretta codifica dei caratteri. Nella decodifica a byte, un numero dispari di cifre è incompleto, salvo una convenzione che aggiunga uno zero iniziale.

La notazione esadecimale è reversibile e non offre riservatezza: non è cifratura.

Domande frequenti

No. Cambia solo la rappresentazione scritta di numeri o byte. Chiunque può riconvertire un valore hex valido senza chiave.

Un byte si scrive normalmente con due cifre hex. In una stringa dispari resta mezzo byte senza coppia, anche se un normale numero esadecimale può avere qualsiasi quantità di cifre.

No. A–F e a–f hanno normalmente gli stessi valori, anche se un formato di output può imporre uno stile.

Vedi anche
Strumenti correlati
Termini correlati