Tutte le codifiche insieme

Digita o incolla un testo una sola volta e vedilo affiancato in binario, esadecimale, nella famiglia Base32, in Base58, Base64, nella famiglia Base85, in Base91 e altro ancora, ognuno con il proprio pulsante Copia.

Funziona interamente nel tuo browser. Non viene caricato nulla.

Come si usa

  1. Digita o incolla il testo nel campo di input.
  2. Tutte le codifiche si aggiornano mentre scrivi: binario, ottale, decimale, esadecimale, le varianti di Base32, da Base36 a Base91, uuencode e xxencode.
  3. Confronta gli output per capire quale è il più corto o quale usa solo i caratteri che puoi accettare.
  4. Fai clic su Copia accanto al risultato che ti serve.

Tutte le codifiche da un unico input

Ogni codifica di questa pagina trasforma gli stessi byte in un insieme diverso di caratteri. Vederle affiancate è il modo più rapido per scegliere una codifica per un progetto, per riconoscere una stringa trovata in un log o in un file di configurazione, oppure per capire in cosa differiscono i formati. Il testo viene codificato come byte UTF-8, quindi una lettera accentata conta come due byte e un carattere cinese come tre. Tutto avviene nel tuo browser.

  • Numeri per byte. Binario, ottale e decimale scrivono ogni byte separatamente. Facili da leggere, ma lunghi.
  • Gruppi di bit. Esadecimale, Base32 (con Base32hex, Crockford e z-base-32), Base64 e Base64URL assegnano a ogni carattere un numero fisso di bit, quindi la lunghezza dell’output dipende solo dalla lunghezza dell’input.
  • Numeri grandi. Base36, Base58 e Base62 trattano l’intero input come un unico intero grande. La lunghezza può variare di un carattere a seconda del valore, e i byte zero iniziali vengono conservati come caratteri iniziali.
  • Blocchi. Base45 trasforma 2 byte in 3 caratteri, Ascii85, Z85 e Base85 trasformano 4 byte in 5, mentre Base91 racchiude 13 o 14 bit in ogni coppia di caratteri.
  • Righe. uuencode e xxencode sono vecchi formati per email e Usenet che scrivono i dati su righe, ciascuna preceduta da un carattere che ne indica la lunghezza.

Dimensioni dell’output a confronto

Quanti caratteri servono a ogni codifica per ciascun byte di input, e quanto diventa lungo un valore di 32 byte come un hash SHA-256 o una chiave pubblica Ed25519:

CodificaCaratteri per byte32 byte diventano
Base16 (esadecimale)2,064
Base321,656 (52 senza padding)
Base36circa 1,5549 o 50
Base451,548
Base58circa 1,3743 o 44
Base62circa 1,3442 o 43
Base64circa 1,3344 (43 senza padding)
Base851,2540
Base91circa 1,2339 o 40

Passare dall’esadecimale a Base64 fa risparmiare un terzo della lunghezza. Spingersi oltre, da Base64 a Base91, fa risparmiare solo un altro 8% circa.

Quale codifica scegliere

L’output più corto non è sempre il migliore. Ascii85 può contenere virgolette e barre rovesciate, e Base91 può contenere virgolette doppie, quindi entrambe possono richiedere l’escape in JSON, HTML o nei comandi della shell. Pensa a dove deve finire la stringa:

  • URL e nomi di file: Base64URL, Base58 o Base62.
  • Lettura ad alta voce o digitazione a mano: Crockford Base32 o Base58, che escludono i caratteri simili tra loro.
  • Sistemi che non distinguono maiuscole e minuscole: esadecimale, Base32 o Base36.
  • Codici QR: Base45, che usa solo i caratteri della modalità alfanumerica dei QR.
  • Testo compatto in PDF, Git o ZeroMQ: Ascii85, Base85 o Z85.
  • Massima compatibilità: Base64, supportato da quasi tutti i linguaggi e le piattaforme.

Domande frequenti

Quale codifica produce l’output più corto?

Tra le codifiche di questa pagina, la più compatta è Base91, con circa 1,23 caratteri per byte, seguita da Ascii85, Z85 e Base85 con 1,25. Base64 ne richiede circa 1,33 ma è supportato molto più ampiamente, ed è per questo che di solito è la scelta predefinita.

Perché i risultati Base58 e Base62 hanno lunghezze diverse per input della stessa dimensione?

Queste codifiche convertono l’intero input come un unico numero grande, quindi la lunghezza dipende dal suo valore e non solo dalla sua dimensione. Inoltre ogni byte zero iniziale aggiunge un carattere iniziale. Esadecimale, Base32 e Base64 producono sempre la stessa lunghezza per lo stesso numero di byte.

Posso decodificare una stringa in questa pagina?
Questa pagina si limita a codificare. Per scoprire che cos’è una stringa sconosciuta, incollala nel rilevatore di codifica. Per convertire una stringa da una codifica a un’altra, usa il convertitore di codifiche.
Perché l’output binario è così lungo?

Il binario scrive 8 cifre per ogni byte, più i separatori, quindi è lungo almeno quattro volte l’esadecimale. Serve a esaminare i singoli bit, non a memorizzare o trasmettere dati.

Il mio testo viene inviato a un server?

No. Tutte le codifiche vengono calcolate da JavaScript nel tuo browser e il testo non lascia mai il tuo dispositivo.