Codificatore e decodificatore esadecimale (Base16)

Converti testo, file o byte grezzi in esadecimale e viceversa. Scegli maiuscole o minuscole, un separatore e un prefisso 0x o \x; il decodificatore ripulisce da solo i formati esadecimali più comuni.

Funziona interamente nel tuo browser. Non viene caricato nulla.

Come si usa

  1. Scegli Codifica per trasformare il testo in esadecimale, oppure Decodifica per riportare l’esadecimale in testo.
  2. Digita o incolla l’input, oppure apri un file per vederne i byte in esadecimale.
  3. Imposta le opzioni: Maiuscole, un Separatore (Nessuno, Spazio o Due punti) e un Prefisso (Nessuno, 0x o \x).
  4. Copia il risultato o scaricalo come file.

Che cos’è l’esadecimale (Base16)?

Il sistema esadecimale usa sedici simboli, le cifre da 0 a 9 e le lettere da A a F. Una cifra esadecimale contiene quattro bit, quindi ogni byte si scrive con esattamente due cifre, da 00 a FF. L’output è grande il doppio dell’input, più che con Base64 o Base32, ma i confini tra i byte restano visibili, ed è per questo che debugger, editor esadecimali e strumenti di rete mostrano i dati in questo modo.

La RFC 4648 standardizza questa codifica con il nome Base16, con un alfabeto in maiuscolo e senza padding. In pratica le minuscole sono altrettanto diffuse, e i decodificatori, compreso questo, accettano entrambe.

Dove si usa l’esadecimale

  • Hash e chiavi. Un digest SHA-256 è lungo 32 byte, scritti come 64 cifre esadecimali. Anche chiavi crittografiche, UUID e checksum vengono di solito mostrati in esadecimale.
  • Indirizzi hardware. Gli indirizzi MAC sono sei byte in esadecimale, di norma separati da due punti. Il separatore Due punti produce proprio questo formato.
  • Sequenze di escape. Le stringhe in C, Python e JavaScript accettano \x seguito da due cifre esadecimali per indicare un singolo byte, ed è esattamente ciò che scrive l’opzione di prefisso \x.
  • Formati web. I colori CSS come #FF8800 sono tre byte in esadecimale, e la codifica percentuale degli URL scrive i byte come % seguito da due cifre esadecimali.

Decodificare l’esadecimale in testo

Il decodificatore è tollerante con la formattazione. Accetta cifre maiuscole e minuscole, ignora spazi, interruzioni di riga, virgole, due punti, punti e virgola e trattini, e rimuove i prefissi 0x, \x, % e &#x. Puoi incollare così come sono l’output di xxd -p, indirizzi MAC, UUID, elenchi di valori 0x separati da virgole, escape %XX ed entità esadecimali HTML. Ogni byte richiede due cifre, quindi un numero dispari di cifre viene segnalato come errore. I byte vengono mostrati come testo nella codifica del testo selezionata.

Per trasformare l’esadecimale in un’altra codifica senza passare dal testo, usa Esadecimale in Base64 o Base64 in esadecimale.

L’esadecimale nel codice

# Python
'Hi'.encode().hex()                 # '4869'
bytes.fromhex('4869').decode()      # 'Hi'

// Node.js
Buffer.from('Hi').toString('hex')             // '4869'
Buffer.from('4869', 'hex').toString('utf8')   // 'Hi'

# Shell
printf 'Hi' | xxd -p                # 4869

Specifiche

Alfabeto0-9 A-F
Dimensione dell’output2 caratteri per byte (200%)
PaddingNessuno
StandardRFC 4648, sezione 8
Distingue maiuscole/minuscoleNo

Esempi

Input (UTF-8)Output
Hello, World!48656c6c6f2c20576f726c6421
Base64.is4261736536342e6973
你好e4bda0e5a5bd

Domande frequenti

Come si converte l’esadecimale in testo?

Passa a Decodifica e incolla l’esadecimale. Spazi, due punti e prefissi 0x o \x vengono rimossi automaticamente, e i byte vengono mostrati come testo UTF-8, a meno che tu non scelga un’altra Codifica del testo.

L’esadecimale va scritto in maiuscolo o in minuscolo?

Entrambe le forme rappresentano gli stessi byte. La RFC 4648 usa le maiuscole, mentre molti linguaggi di programmazione stampano in minuscolo. Attiva Maiuscole se il sistema di destinazione si aspetta lettere maiuscole; il decodificatore accetta entrambe le forme.

Perché l’esadecimale è lungo il doppio dell’originale?
Ogni byte diventa due caratteri, con un aumento del 100%. Base64 aggiunge solo il 33% circa. Se le dimensioni contano, converti i byte con Esadecimale in Base64.
È come convertire un numero in esadecimale?
Non proprio. Questo strumento codifica una sequenza di byte, come i byte di un testo. Per convertire un singolo intero, per esempio 255 in FF, usa il convertitore di basi numeriche.