Convertitore Testo ↔ Hex

Codifica il testo in esadecimale e decodifica l'esadecimale in testo leggibile — compatibile con UTF-8, interamente nel tuo browser.

1.068 visualizzazioni

Da Testo a Hex

Da Hex a Testo

Come Funziona la Codifica da Testo a Esadecimale?

L'esadecimale è un sistema numerico posizionale in base 16: 16 simboli (0-9, poi A-F per 10-15) in cui la posizione di ogni cifra vale una potenza di 16. Il motivo per cui si abbina così naturalmente all'informatica è che una cifra esadecimale rappresenta esattamente 4 bit (un "nibble") — quindi due cifre esadecimali rappresentano sempre esattamente un byte (8 bit), senza arrotondamenti o ambiguità. Ecco perché un valore di byte non richiede mai più di due caratteri esadecimali: 0-255 si mappa in modo pulito su 00-FF.

Questo strumento converte il testo da e verso questa rappresentazione. Il testo viene prima convertito in byte grezzi usando UTF-8 (così ogni carattere, incluse le lettere turche e le emoji, sopravvive al processo di andata e ritorno), poi ogni byte viene scritto come coppia esadecimale a due cifre: "Hi" diventa 48 69, perché la lettera H è il byte 72 (0x48) e la i è il byte 105 (0x69). Un esempio concreto con un carattere non ASCII: "çay" si codifica in C3 A7 61 79 — "ç" da sola occupa due byte (C3 A7) perché esce fuori dall'intervallo ASCII a byte singolo, mentre "a" e "y" occupano un byte ciascuna. La decodifica inverte il processo, ignorando spazi, interruzioni di riga e prefissi "0x".

Questo abbinamento tra testo, byte ed esadecimale è anche il motivo per cui lo strumento è utile ben oltre la curiosità: incollare un dump esadecimale da uno sniffer di rete o da una console seriale e rileggerlo come testo, incorporare un piccolo payload binario dentro una stringa JSON come esadecimale, o verificare che un valore prodotto dal tuo codice corrisponda a quello che un documento di specifica mostra in esadecimale — tutte queste attività sono semplicemente la direzione codifica/decodifica applicata a un vero compito di debug.

Cosa Sapere

  • La codifica esadecimale non è cifratura: cambia solo la rappresentazione dei dati, non la loro segretezza. Ogni stringa esadecimale si decodifica istantaneamente e in modo deterministico tornando ai byte originali — chiunque abbia la stringa può leggerla. Per una riservatezza reale usa una cifratura vera (ad es. AES), non una codifica.
  • Perché 4 bit per cifra sono importanti: un nibble (4 bit) ha esattamente 16 valori possibili (0000-1111 in binario), che si mappano uno a uno su una singola cifra esadecimale senza avanzi — a differenza del decimale, dove convertire il binario in base 10 richiede aritmetica su tutto il numero. Ecco perché l'esadecimale compare nei codici colore (#RRGGBB — tre byte, sei cifre esadecimali), negli indirizzi di memoria e nel debug di basso livello: è la vista leggibile più compatta del binario grezzo.
  • UTF-8 è a larghezza variabile: i caratteri ASCII occupano un byte, ma le lettere accentate e la maggior parte delle scritture non latine ne occupano due, e le emoji spesso ne occupano quattro — motivo per cui la lunghezza dell'output esadecimale non è semplicemente "due caratteri per lettera visibile" quando è coinvolto testo non ASCII.
  • Formati di input accettati: il decodificatore accetta coppie esadecimali con o senza spazi, interruzioni di riga o prefissi "0x" — "48 69", "4869" e "0x48 0x69" si decodificano tutte in "Hi".
  • Le maiuscole non contano per la decodifica: le lettere esadecimali A-F possono essere scritte maiuscole, minuscole o miste e si decodificano in modo identico, poiché entrambe rappresentano gli stessi valori a quattro bit — contano solo il raggruppamento e l'ordine dei byte.

Domande Frequenti

La codifica esadecimale è sicura?

No — cambia solo la rappresentazione, non la riservatezza. Chiunque può decodificare l'esadecimale all'istante. Per dati riservati usa una cifratura vera (ad es. AES).

I caratteri turchi e le emoji sono supportati?

Sì. Lo strumento codifica tramite UTF-8, quindi ogni carattere Unicode — accenti, lettere turche, emoji — viene convertito e ripristinato correttamente, anche se alcuni caratteri occupano più di un byte.

Quali formati di input accetta il decodificatore?

Semplici coppie esadecimali con o senza spazi, interruzioni di riga o prefissi "0x": "48 69", "4869" e "0x48 0x69" vengono tutti decodificati in "Hi".

Perché una cifra esadecimale equivale sempre a 4 bit?

Perché 4 bit possono rappresentare esattamente 16 valori distinti (2⁴ = 16), corrispondenti uno a uno ai 16 simboli dell'esadecimale (0-9, A-F). Ecco perché convertire tra binario ed esadecimale è pura corrispondenza diretta, senza bisogno di divisione o resto aritmetico, a differenza della conversione in decimale.

Perché i codici colore come #FF5733 usano l'esadecimale invece del decimale?

I canali rosso, verde e blu di un colore sono ciascuno memorizzati come un singolo byte (0-255), e l'esadecimale rappresenta un byte in modo compatto con esattamente due cifre — #FF5733 si legge istantaneamente come tre byte, FF, 57 e 33, mentre l'equivalente decimale (255, 87, 51) richiede virgole separatrici e numeri di lunghezza variabile, più scomodo da digitare in CSS o in uno strumento di design.

Commenti

Ancora nessun commento — scrivi il primo!

Strumenti Simili