Convertitore da binario a testo

Converti all'istante tra binario e testo.

Nessun dato lascia il tuo dispositivo

Informazioni sulla codifica binaria

Il binario è il linguaggio fondamentale dei computer · ogni carattere, numero e istruzione è in definitiva rappresentato da una sequenza di 0 e 1. Nello standard ASCII, ogni carattere corrisponde a un valore binario di 7 bit (visualizzato di solito in 8 bit con uno 0 iniziale). Per esempio, la lettera «A» vale 01000001 (decimale 65).

Questo strumento converte tra testo leggibile e la sua rappresentazione binaria. Supporta tutta la gamma ASCII (0-127) per binario→testo, e converte ogni carattere nel suo equivalente binario a 8 bit per testo→binario.

Codifiche di caratteri: trasformare le lettere in bit

Il binario è lo strato più basso; lo strato sopra è la codifica dei caratteri che mappa lettere e simboli a specifici pattern di bit. Il codice Baudot (Émile Baudot, inventato 1870, brevettato 1874) fu la prima codifica binaria di testo ampiamente usata: 5 bit per carattere, usata da telescriventi e reti Telex per oltre un secolo. 5 bit danno solo 32 codici, il che costrinse il codice Baudot a usare caratteri di shift (uno per le lettere, uno per numeri/punteggiatura) per espandere il set indirizzabile. ASCII (American Standard Code for Information Interchange) fu pubblicato come ANSI X3.4-1963 il 17 giugno 1963 dall'American Standards Association. ASCII usa 7 bit per codificare 128 caratteri: codici di controllo (0-31), punteggiatura e cifre (32-64), lettere maiuscole (65-90), altra punteggiatura (91-96), lettere minuscole (97-122), punteggiatura finale (123-127). La larghezza di 7 bit fu scelta per compatibilità con l'hardware della telegrafia su nastro di carta. ASCII divenne la codifica dominante per la lingua inglese per i due decenni successivi; la revisione canonica ANSI X3.4-1986 è essenzialmente identica ed è ciò che la gente intende oggi quando dice "ASCII."

La famiglia ASCII esteso / ISO 8859 (ISO 8859-1 pubblicata nel 1987, le altre attraverso gli anni '90) riempì i 128 caratteri alti di un byte a 8 bit con alfabeti regionali: Latin-1 copriva le lingue dell'Europa occidentale, Latin-2 quelle orientali, Latin-5 il turco, Cyrillic-1, Greek-1, Arabic-1, Hebrew-1, Thai-1. Questo produsse quindici codifiche a 8 bit incompatibili: 0xE9 significava é in Latin-1, ma un carattere diverso in Cyrillic-1, indefinito in ASCII stretto, e ancora un altro carattere in Mac Roman. La discrepanza ha prodotto la famosa condizione del mojibake (giapponese: 文字化け, "trasformazione di caratteri": testo dall'aspetto corrotto a causa di mismatch di codifica).

Il progetto Unicode nacque come risposta. Il Unicode Consortium fu costituito il 3 gennaio 1991; Unicode 1.0 fu pubblicato nell'ottobre 1991 con circa 7.000 caratteri. Con Unicode 16.0 (rilasciato il 10 settembre 2024) lo standard copre 154.998 caratteri attraverso 168 script. Unicode è un sistema di code-point: un identificatore numerico unico per ogni carattere, ma non è direttamente una codifica binaria. Esistono molteplici codifiche di Unicode: UTF-32 (4 byte per carattere, larghezza fissa), UTF-16 (2 o 4 byte, variabile) e quella dominante per il web moderno: UTF-8.

UTF-8 fu progettato da Ken Thompson con Rob Pike su una tovaglietta in un diner del New Jersey attorno al 2 settembre 1992; Plan 9 girava su di esso entro l'8 settembre. UTF-8 è a lunghezza variabile: 1 byte per i caratteri ASCII (U+0000 a U+007F), 2 byte per U+0080 a U+07FF, 3 byte per U+0800 a U+FFFF, 4 byte per U+10000 a U+10FFFF. I bit alti di ogni byte indicano la sua posizione in una sequenza multi-byte (0xxxxxxx = ASCII a 1 byte, 110xxxxx = primo byte di sequenza a 2 byte, 10xxxxxx = byte di continuazione, ecc.) il che rende UTF-8 auto-sincronizzante: puoi iniziare a decodificare da qualsiasi posizione casuale e trovare il prossimo confine di carattere guardando i prossimi byte. UTF-8 è anche retrocompatibile con ASCII: ogni file ASCII è un file UTF-8 valido. Nel 2026, W3Techs riporta che circa il 98,9% di tutte le pagine web dichiara UTF-8 come codifica: è schiacciantemente la codifica testuale del mondo.

Esempi binari ASCII

Alcuni caratteri ASCII rappresentativi nella loro forma binaria a 8 bit (con lo zero iniziale poiché ASCII è tecnicamente a 7 bit ma allineato al byte):

"Hello" in ASCII diventa 01001000 01100101 01101100 01101100 01101111: cinque byte, uno per carattere. In UTF-8 è identico perché ogni carattere ASCII è anche un carattere UTF-8 valido a 1 byte. "Café" in UTF-8 è 01000011 01100001 01100110 11000011 10101001: quattro caratteri, ma cinque byte, perché é (U+00E9) richiede due byte (11000011 10101001) sotto UTF-8.

Codifica multi-byte UTF-8, meccanicamente

Le regole di codifica di UTF-8 usano specifici pattern di bit alti per indicare la posizione del byte. 1 byte (intervallo ASCII U+0000 a U+007F): 0xxxxxxx: il bit alto è 0, i restanti 7 bit sono il code point. 2 byte (U+0080 a U+07FF): 110xxxxx 10xxxxxx: il primo byte inizia con 110, il byte di continuazione con 10; i bit x si combinano per dare il code point a 11 bit. 3 byte (U+0800 a U+FFFF): 1110xxxx 10xxxxxx 10xxxxxx: il primo byte inizia con 1110, due byte di continuazione; code point a 16 bit. 4 byte (U+10000 a U+10FFFF): 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx: copre tutto lo spazio Unicode incluse le emoji. La lettera russa п (U+043F) ha bisogno di 2 byte in UTF-8 (11010000 10111111); il carattere cinese (U+4E2D) ha bisogno di 3 byte; l'emoji 🎉 (U+1F389) ha bisogno di 4 byte. Codificare testo come binario UTF-8 produce sempre una sequenza valida; decodificare richiede di verificare che i byte di continuazione abbiano il prefisso 10 (altrimenti l'input è UTF-8 non valido e il decoder tipicamente sostituisce la sequenza errata con il carattere di sostituzione U+FFFD).

Convenzioni di notazione

Il testo binario appare in natura in diverse convenzioni, tutte riferite agli stessi byte sottostanti. Byte separati da spazi: 01001000 01100101 01101100 01101100 01101111: la forma più leggibile, comune nei tutorial e nei rompicapo. Continua senza spazi: 0100100001100101011011000110110001101111: più compatta, richiede al lettore di sapere che i confini dei byte sono ogni 8 cifre. Separata da virgole: 01001000,01100101,01101100,01101100,01101111: comune nei dati di test in CSV. Coppie esadecimali (Base16): 48 65 6c 6c 6f: stessi byte mostrati con due cifre esadecimali ciascuno invece di otto binarie; molto più compatta e comune negli strumenti per programmatori (hexdump, editor esadecimali). Decimale: 72 101 108 108 111: il valore intero sottostante di ogni byte. Questo strumento accetta input binario separato da spazi, da virgole e continuo per la conversione binario-a-testo; produce output binario a 8 bit separato da spazi per testo-a-binario.

Usi comuni

Trabocchetti di codifica che vale la pena conoscere

Mojibake da mismatch di codifica. La stessa sequenza di byte interpretata sotto codifiche diverse produce testo diverso (e di solito storpiato). 0xE9 è é in Latin-1 ma l'inizio di una sequenza UTF-8 non valida (qualsiasi byte ≥ 0x80 deve essere o un byte di continuazione o l'inizio di una sequenza multi-byte). Quando un file UTF-8 viene aperto come Latin-1, ogni carattere UTF-8 multi-byte diventa 2-4 caratteri Latin-1 storpiati: la modalità di fallimento canonica "Café" → "Café". BOM (Byte Order Mark). Una sequenza di 2-3 byte all'inizio assoluto di un file Unicode che indica l'ordine dei byte: UTF-16 little-endian inizia con FF FE, UTF-16 big-endian con FE FF, BOM UTF-8 (raramente usata, a volte chiamata "UTF-8 con BOM") con EF BB BF. Il BOM è utile per distinguere le codifiche Unicode ma è obbligatorio solo per UTF-16 e UTF-32; l'IETF scoraggia l'aggiunta ai file UTF-8 perché rompe gli strumenti che si aspettano che il file inizi con contenuto normale. L'endianness conta per UTF-16 e UTF-32 (che ordinano i byte di un'unità di codice multi-byte) ma non per UTF-8 (che è codificato come stream di byte: l'ordine è determinato dalla specifica, non dall'hardware).

Tabella di riferimento ASCII

Privacy: perché solo browser conta anche qui

Le conversioni binarie sembrano innocue, ma il testo da convertire è esattamente il tipo di cosa in cui la privacy conta: rompicapo a messaggi nascosti tra amici, frasi confidenziali codificate per esperimenti di steganografia, stringhe sensibili in debug per problemi di codifica, o semplicemente qualunque cosa in cui il lettore si aspetta che il binario sia una rappresentazione privata. Questo strumento gira interamente nel tuo browser tramite JavaScript: verifica nel pannello Network di DevTools mentre converti, oppure metti la pagina offline (modalità aereo) dopo che si è caricata e il convertitore continua a funzionare. Sicuro per indizi di rompicapo, stringhe di debug sensibili o qualsiasi testo che non vorresti vedere copiato sul disco di uno sconosciuto.

Domande frequenti

Quale formato deve avere l'input binario?

Inserisci valori binari a 8 bit separati da spazi (per es. «01001000 01101001»). Lo strumento accetta anche valori senza spazi se ogni byte è di esattamente 8 cifre, o separati da virgole.

Supporta le emoji o i caratteri non latini?

Il senso testo→binario supporta qualsiasi carattere Unicode · ogni carattere viene espanso nella sua rappresentazione binaria completa in codifica UTF-8. Per binario→testo, ogni gruppo di 8 bit è decodificato come un byte ASCII (0-255).

Perché 8 cifre per carattere?

Ogni gruppo di 8 cifre binarie (bit) rappresenta un byte. L'ASCII usa 7 bit (valori 0-127) ma si visualizza comunemente in 8 bit con uno 0 iniziale. Un byte può rappresentare 256 valori diversi (0-255), che coprono tutti i caratteri standard della tastiera.

Da dove viene davvero il binario?

L'idea matematica precede i computer di 250 anni. Gottfried Wilhelm Leibniz scrisse la prima descrizione formale occidentale dell'aritmetica binaria nel 1703 ("Explication de l'Arithmétique Binaire"), ispirato in parte dagli esagrammi del cinese I Ching. Le Laws of Thought di George Boole (1854) diedero al binario le sue fondamenta algebriche (AND, OR, NOT). La tesi di Claude Shannon al MIT (1937) collegò l'algebra booleana ai circuiti elettrici a relè: il momento fondante per l'elettronica digitale. I primi computer elettronici binari arrivarono alla fine degli anni '40 (Manchester Baby giugno 1948, EDSAC maggio 1949).

Qual è la differenza tra ASCII e UTF-8?

ASCII (1963) è una codifica a larghezza fissa di 7 bit che copre 128 caratteri: alfabeto inglese di base, cifre, punteggiatura comune, codici di controllo. UTF-8 (Thompson + Pike, 1992) è una codifica a lunghezza variabile dell'intero standard Unicode (~155.000 caratteri al momento di Unicode 16.0 nel settembre 2024). UTF-8 è retrocompatibile con ASCII: ogni sequenza di byte ASCII valida è anche UTF-8 valido. La differenza conta sopra l'intervallo ASCII: é, , 🎉 hanno tutti bisogno di più byte in UTF-8. Nel 2026, ~98,9% delle pagine web dichiara UTF-8 come codifica (per W3Techs).

Le mie conversioni vengono inviate da qualche parte?

No. La conversione gira interamente nel tuo browser tramite JavaScript. Il testo e il binario che incolli non attraversano mai la rete: verifica nel pannello Network di DevTools mentre clicchi Converti, oppure metti la pagina offline (modalità aereo) dopo che si è caricata e lo strumento continua a funzionare.

Strumenti correlati