Convertitore Base32, Base58 e Ascii85
Codifica testo o byte grezzi in Base32, Base58, Ascii85 o Z85, oppure decodifica uno di questi formati, con l'alfabeto e le regole di completamento di ciascuna codifica. La tabella del procedimento mostra come i primi byte diventano caratteri. La Base64 è trattata nel Codificatore e Decodificatore di Testo. Funziona nel tuo browser; nulla viene caricato.
Lettere da A a Z e cifre da 2 a 7, cinque bit per carattere, completate con = fino a un multiplo di otto caratteri. In decodifica le maiuscole e le minuscole non contano.
Come è stato ricavato
I byte vengono scritti come bit e tagliati in gruppi di cinque. Ogni gruppo è un numero da 0 a 31 e sceglie un carattere.
| Bit | Valore | Carattere |
|---|---|---|
| 01001 | 9 | J |
| 00001 | 1 | B |
| 10010 | 18 | S |
| 10110 | 22 | W |
| 11000 | 24 | Y |
| 11011 | 27 | 3 |
| 00011 | 3 | D |
| 01111 | 15 | P |
| 00101 | 5 | F |
| 10000 | 16 | Q |
| 10000 | 16 | Q |
| 00101 | 5 | F |
| 01110 | 14 | O |
| 11011 | 27 | 3 |
| 11011 | 27 | 3 |
| 10010 | 18 | S |
Mostrate le prime 16 righe.
Come usare il convertitore di codifiche in base
- 1. Scegli una codifica. Base32, Base32 con l'alfabeto hex esteso, Base58 con l'alfabeto di Bitcoin, Ascii85 come usato da Adobe, oppure Z85. Una nota sotto il menu descrive quella che hai scelto.
- 2. Indica che cosa sono i dati. Testo viene letto come byte UTF-8. Byte esadecimali ti permette di codificare dati binari arbitrari, come una chiave, digitandoli a coppie come
86 4f d2 6f. - 3. Codifica o decodifica. La codifica produce un testo composto dall'alfabeto della codifica. La decodifica lo riporta a byte, mostrati come testo o come esadecimale. Gli spazi e le interruzioni di riga nell'input vengono ignorati.
- 4. Controlla le opzioni. Base32 può essere scritta con o senza il completamento
=. Ascii85 può essere racchiusa tra<~e~>e può scrivere quattro byte zero comez.
A che cosa servono queste codifiche
Nessuna di queste è una cifratura. Ciascuna trasforma byte, che possono non essere stampabili, in un testo che si può incollare in un'email, in un URL, in un codice QR o in un file di configurazione, e ciascuna può essere annullata da chiunque conosca il nome della codifica. Differiscono per l'alfabeto che usano e per quanto il testo risultante è più lungo dei dati.
| Codifica | Caratteri | Lunghezza rispetto ai byte | Hello, World diventa |
|---|---|---|---|
| Base32 (RFC 4648) | 32 | 8 ÷ 5 volte | JBSWY3DPFQQFO33SNRSA==== |
| Base32 hex esteso | 32 | 8 ÷ 5 volte | 91IMOR3F5GG5ERRIDHI0==== |
| Base58 (Bitcoin) | 58 | circa 1,37 volte | 2NEpo7TZsLBYdvo5V |
| Ascii85 (Adobe) | 85 | 5 ÷ 4 volte | <~87cURD_*#4DfTZ)~> |
| Z85 (ZeroMQ) | 85 | 5 ÷ 4 volte | nm=QNz.92jz/PV8 |
Base32
Base32 divide i byte in gruppi da 5 bit e scrive ciascuno come uno dei 32 caratteri, da A a Z e da 2 a 7. Usa solo le cifre da 2 a 7, lasciando fuori 0, 1 e 8, che somigliano a O, I e B, e ignora la distinzione tra maiuscole e minuscole, così può essere letta ad alta voce o digitata. Il segno di completamento = porta la lunghezza a un multiplo di otto. La RFC 4648 fornisce vettori di prova come foobar → MZXW6YTBOI======. I segreti delle app di autenticazione e gli indirizzi onion di Tor sono in Base32.
Base58
Base58 tratta l'intero input come un unico grande numero e lo scrive in base 58, lasciando fuori 0, O, I e l, e i simboli + e /, così il risultato può essere copiato con un doppio clic ed è difficile da leggere male. Ogni byte zero iniziale viene scritto come primo carattere, 1. L'alfabeto di Bitcoin è uno dei vari alfabeti Base58; quelli usati da Ripple e Flickr ordinano diversamente i caratteri, quindi verifica quale usano i tuoi dati. Gli indirizzi Bitcoin aggiungono in cima un checksum e un byte di versione, uno schema chiamato Base58Check, che questo strumento non calcola.
Ascii85 e Z85
Entrambe leggono quattro byte come un numero a 32 bit e lo scrivono come cinque cifre in base 85, ed è per questo che sono solo il 25 per cento più lunghe dei dati. L'Ascii85 di Adobe, usato in PostScript e PDF, usa i caratteri da ! a u, abbrevia quattro byte zero con z e di solito racchiude i dati tra <~ e ~>. Un gruppo finale da uno a tre byte dà un carattere in più dei byte. Z85, definito nella RFC 32 di ZeroMQ, usa un diverso alfabeto di 85 caratteri scelto per evitare virgolette e barre rovesciate nel codice sorgente, non ha la scorciatoia z né un gruppo finale corto, quindi il suo input deve essere un multiplo di quattro byte. Il suo esempio nella specifica sono gli otto byte 86 4f d2 6f b5 59 f7 5b, che si codificano in HelloWorld. Esistono altri alfabeti in base 85, come quello della RFC 1924 usato da Git, quindi abbina l'alfabeto alla sua fonte.
Domande frequenti
- Base32 o Base58 sono una cifratura?
- No. Sono codifiche: chiunque può invertirle, perché l'alfabeto e le regole sono pubblici. Rendono i dati stampabili e più facili da copiare, non segreti.
- Perché Base58 esclude alcuni caratteri?
- Per evitare caratteri simili tra loro e simboli. Esclude 0 (zero), O (o maiuscola), I (i maiuscola) e l (elle minuscola), che in molti caratteri possono essere confusi, e + e /, che interrompono la selezione con doppio clic. Restano 58 caratteri.
- Come decodifico una stringa Base32?
- Scegli Base32, passa a Decodifica e incolla la stringa. Le maiuscole non contano e i segni = finali sono facoltativi. Se ottieni un errore che cita alcuni caratteri, la stringa è probabilmente Base32 con hex esteso, Base64 o un'altra codifica.
- Qual è la differenza tra Ascii85 e Z85?
- Entrambe usano cinque caratteri per quattro byte, ma i loro alfabeti differiscono. Ascii85 usa i caratteri da ! a u, ha la scorciatoia z per gli zeri e può avere <~ e ~> intorno. Z85 usa un alfabeto sicuro per il codice sorgente e nessuna scorciatoia.
- Perché Z85 dice che servono un multiplo di quattro byte?
- La specifica di Z85 non prevede completamento. I suoi dati devono essere un numero intero di gruppi da 4 byte, e il suo testo un multiplo di cinque caratteri. Aggiungi tu i byte, oppure usa Ascii85, che gestisce un gruppo finale corto.
- Come codifico una stringa in Base64?
- Questa pagina non fa Base64. Il Codificatore e Decodificatore di Testo converte il testo in Base64, URL ed entità HTML e viceversa, e la pagina XOR Cipher può mostrare i byte esadecimali in Base64.