Convertitore da Testo a Binario
Converte il testo in binario (byte UTF-8 a 8 bit) e viceversa — entrambe le caselle sono live e bidirezionali.
1.118 visualizzazioni
Come Funziona
Il testo non viene convertito in binario carattere per carattere: viene convertito byte per byte, dopo essere stato prima codificato come UTF-8. Questa distinzione è importante perché un singolo carattere non occupa sempre un solo byte. Digita un carattere ASCII (le normali lettere inglesi, cifre e punteggiatura, punti di codice 0-127) e questo entra esattamente in un byte, quindi A diventa un unico gruppo di 8 bit: 01000001. La maggior parte dei caratteri non inglesi richiede più spazio. La İ maiuscola puntata turca (Unicode U+0130) viene codificata in UTF-8 come due byte, non uno: 11000100 10110000 — due gruppi separati di 8 bit. Un'emoji come 😀 (U+1F600) richiede quattro byte: 11110000 10011111 10011000 10000000. Questo strumento esegue esattamente questa pipeline — testo → byte UTF-8 → un gruppo binario a 8 bit per byte, separati da spazi — quindi una parola contenente "İ", "ğ" o un'emoji produce visibilmente più gruppi di quanto prevederebbe un'ipotesi ingenua "un carattere uguale un byte".
I byte extra non sono arbitrari; seguono uno schema di bit fisso che qualsiasi decodificatore consapevole di UTF-8 (compreso questo strumento, quando esegue la conversione al contrario) può riconoscere. Il primo byte di una sequenza multi-byte inizia con una serie di bit 1 seguita da uno 0 che annuncia quanti byte compongono il carattere — 110xxxxx significa "2 byte in totale", 1110xxxx significa "3 byte", 11110xxx significa "4 byte" — mentre ogni byte successivo, un byte di continuazione, inizia sempre con il prefisso fisso 10xxxxxx. Leggendo 11000100 10110000 per İ: il decodificatore vede 110 (un byte iniziale a 2 byte) seguito da un byte che inizia con 10 (esattamente un byte di continuazione), conferma che la sequenza è completa e ricostruisce il singolo punto di codice Unicode U+0130 dai bit rimanenti di entrambi i byte combinati. Questo è anche il motivo per cui un byte estraneo o corrotto nel mezzo di un carattere multi-byte interrompe la decodifica — il prefisso del byte di continuazione deve corrispondere, altrimenti il carattere non può essere ricostruito.
Cosa Dovresti Sapere
Convertire il binario di nuovo in testo inverte la stessa pipeline: i gruppi di 8 bit vengono letti in ordine, riraggruppati in sequenze complete di byte UTF-8 controllando il prefisso di ogni byte iniziale per sapere quanti byte di continuazione gli appartengono, poi decodificati di nuovo in caratteri — quindi una stringa binaria generata correttamente ritorna sempre esattamente al testo originale, caratteri turchi ed emoji inclusi, non un'approssimazione. Questo funziona solo perché il binario qui è specificamente UTF-8: il binario prodotto da una codifica diversa (UTF-16, o una codifica turca a byte singolo come ISO-8859-9/Windows-1254) usa conteggi di byte e schemi di bit diversi per gli stessi caratteri, e incollarlo qui decodificherà il testo sbagliato o fallirà del tutto — non è uno strumento universale binario-testo, è uno strumento UTF-8. Poiché l'intera conversione avviene lato client nel browser, nessun testo o binario digitato viene mai inviato da nessuna parte.
Domande Frequenti
Perché a volte un carattere produce più di 8 bit?
Il testo viene prima codificato come UTF-8. I caratteri ASCII occupano 1 byte (8 bit), ma le lettere accentate, i caratteri turchi e le emoji possono occupare da 2 a 4 byte — ogni byte viene mostrato come un proprio gruppo di 8 bit, quindi un carattere può legittimamente espandersi a 16, 24 o 32 bit.
Perché i caratteri turchi come İ, ğ e ş richiedono due gruppi binari invece di uno?
Ricadono fuori dall'intervallo ASCII 0-127, quindi UTF-8 li codifica come sequenze di 2 byte: un byte iniziale che inizia con 110xxxxx seguito da un byte di continuazione che inizia con 10xxxxxx. İ, ad esempio, è 11000100 10110000 — due gruppi che rappresentano un carattere.
Posso convertire le emoji, e quanti bit richiedono?
Sì. La maggior parte delle emoji si trova abbastanza in alto in Unicode da richiedere la forma UTF-8 completa a 4 byte: un byte iniziale che inizia con 11110xxx seguito da tre byte di continuazione che iniziano ciascuno con 10xxxxxx — 32 bit totali per una singola emoji.
Cosa succede se il mio input binario ha gruppi non validi?
I gruppi devono avere esattamente 8 caratteri di 0 e 1, separati da spazi. I gruppi non validi o incompleti — e i byte di continuazione che non corrispondono a un byte iniziale valido — vengono saltati invece di interrompere la conversione.
Funziona con codifiche diverse da UTF-8?
No, e non dovrebbe dichiararlo. UTF-16 e le codifiche legacy a byte singolo (come ISO-8859-9 per il turco) assegnano conteggi di byte e schemi di bit diversi agli stessi caratteri. Il binario proveniente da quelle codifiche non verrà decodificato correttamente qui — questo strumento è specificamente un convertitore da testo a binario UTF-8.
Strumenti Simili
Segnala un Problema
Convertitore da Testo a Binario
Commenti
Ancora nessun commento — scrivi il primo!