Utilia

Testo in binario, esadecimale e ASCII

Converti testo in binario, esadecimale, decimale o ottale e viceversa, con byte UTF-8 o code point Unicode e una tabella di ogni carattere.

Caratteri
0
Code point
0
Byte UTF-8
0
Tabella dei caratteri
CarattereCode pointDecimaleUTF-8 (esadecimale)UTF-8 (binario)

Come usare il convertitore da testo a binario

  1. Scrivi o incolla il testo nel riquadro, poi clicca su Testo → codici. Il risultato compare sotto e si aggiorna mentre scrivi.
  2. Scegli il Formato: Binario (base 2), Esadecimale (base 16), Decimale (base 10) oppure Ottale (base 8).
  3. In I codici rappresentano, lascia Byte UTF-8 (compatibile ASCII) per il classico risultato “testo in binario”, oppure scegli Code point Unicode per avere un numero per ogni carattere.
  4. Scegli un Separatore (Spazio, Nessuno, Virgola o A capo) e spunta Aggiungi un prefisso (0b, 0o, 0x) se ti servono codici scritti come li vogliono i linguaggi di programmazione.
  5. Per la conversione inversa, incolla i codici e clicca su Codici → testo. Quando cambi direzione lo strumento indovina il formato, e puoi correggerlo in Formato.

Copia copia il risultato, e Usa il risultato come input sposta il risultato nel riquadro di input e inverte la direzione: un modo rapido per verificare l’andata e ritorno. La Tabella dei caratteri elenca ogni carattere con il suo code point, il valore decimale e i byte UTF-8 in esadecimale e in binario.

ASCII, Unicode e UTF-8

I computer memorizzano il testo come numeri. L’ASCII, definito negli anni Sessanta, assegna un numero da 0 a 127 alle lettere inglesi, alle cifre, alla punteggiatura e a qualche carattere di controllo: “H” è 72, cioè 01001000 in binario e 48 in esadecimale. Nell’ASCII non c’è posto per à, è, € o le emoji, quindi il testo di oggi usa Unicode, che assegna a ogni carattere un code point, scritto ad esempio U+00E9 per é.

UTF-8 è il modo in cui quasi tutte le pagine web e i file memorizzano quei code point sotto forma di byte. La sua caratteristica principale è la compatibilità: i 128 caratteri ASCII mantengono il loro singolo byte, quindi “Ciao” dà esattamente lo stesso binario in ASCII e in UTF-8. Gli altri caratteri occupano da 2 a 4 byte: é è C3 A9 (due byte), € è E2 82 AC (tre) e 😀 è F0 9F 98 80 (quattro). Lo strumento ti dice quanti caratteri sono fuori dall’ASCII, e i contatori mostrano il numero di Caratteri, Code point e Byte UTF-8. Questi valori possono differire: 👍🏽 è un solo carattere visibile composto da due code point e otto byte.

Decodificare i codici in testo

In decodifica, i codici possono essere separati da spazi, virgole, punti e virgola o a capo. Prefissi come 0b, 0x, \x, U+ ed entità HTML come H o H vengono tolti automaticamente. I byte binari ed esadecimali si possono anche incollare senza separatori: 0100100001101001 viene diviso in gruppi di 8 bit, e c3a9 in coppie di cifre esadecimali.

Lo strumento controlla ogni codice e ti dice esattamente quale è sbagliato: una cifra che non appartiene alla base scelta, un byte oltre 255, un gruppo che non si può dividere in parti uguali o un code point oltre U+10FFFF. Se i byte sono numeri validi ma non formano UTF-8 valido (per esempio C3 seguito da 28), il testo viene comunque mostrato con � al posto della sequenza danneggiata, e un messaggio spiega il motivo.

Esempi

  • “Hi” in binario: 01001000 01101001
  • “Hi” in esadecimale: 48 69
  • “Hi” in decimale: 72 105
  • “é” in byte UTF-8 esadecimali: C3 A9; come code point: E9

Domande frequenti

Che differenza c'è tra ASCII e binario?

L’ASCII è una tabella che assegna numeri ai caratteri. Il binario è solo un modo di scrivere quei numeri con 0 e 1. Convertire un testo in binario significa cercare il numero di ogni carattere e scriverlo in base 2.

Perché la é occupa 16 bit invece di 8?

In UTF-8 solo i 128 caratteri ASCII stanno in un byte. Le lettere accentate ne richiedono due, quindi é diventa 11000011 10101001. Con Code point Unicode, é è il singolo numero 11101001 (233).

Posso decodificare un binario senza spazi?

Sì, per i byte in binario o in esadecimale, purché la lunghezza sia un multiplo di 8 bit o di 2 cifre esadecimali. I codici decimali richiedono un separatore, a meno che ognuno sia scritto con esattamente 3 cifre.

Quale opzione corrisponde a "testo in esadecimale" nella programmazione?

I byte UTF-8 in esadecimale. Danno lo stesso risultato della codifica di una stringa in UTF-8 in Python, JavaScript o nella maggior parte degli altri linguaggi.

Il mio testo viene caricato?

No. La conversione avviene interamente nel tuo browser; nulla viene inviato in rete.