Codificatore e Decodificatore Base85
Base85 comprime quattro byte in cinque caratteri ASCII — più denso del rapporto 3 a 4 di Base64 — utilizzando un alfabeto di 85 caratteri invece di 64. La variante Ascii85 di Adobe è inclusa in ogni file PostScript e PDF; la più recente variante Z85 (ZeroMQ) evita caratteri che rompono all’interno delle stringhe C e XML. Questo strumento codifica e decodifica entrambi, con delimitatori opzionali.
Come convertire Base85
-
1
Scegli la variante
Ascii85 per asset PDF/PostScript; Z85 per codice sorgente e protocolli di rete.
-
2
Incolla il testo o carica un file
La direzione di codifica prende byte grezzi; la direzione di decodifica prende una stringa Base85.
-
3
Il codificatore suddivide in blocchi di 4 byte
Ogni blocco di 4 byte diventa una stringa Base85 di 5 caratteri. L'ultimo blocco è riempito e troncato.
-
4
Copia il risultato
Ascii85 eventualmente racchiuso con i delimitatori `<~` e `~>`; Z85 senza delimitatori.
Confronto dell’overhead di dimensione
| Codifica | Caratteri per 4 byte | Overhead rispetto al binario |
|---|---|---|
| Esadecimale | 8 | +100% |
| Base64 | 5.33 (arrotondato a 8 con riempimento) | +37% |
| Base85 | 5 | +25% |
| Binario grezzo | 4 | 0 |
Quindi 1 MB di binario diventa 1.25 MB in Base85, 1.33 MB in Base64, 2 MB in esadecimale.
Alfabeto Ascii85 vs Z85
Ascii85 (RFC 1924 / Adobe): caratteri ! fino a u (33-117 in ASCII), più z come scorciatoia per 4 byte zero. Usato in flussi PostScript e PDF, racchiuso come <~...~>.
Z85 (ZeroMQ): un sottoinsieme che evita caratteri di citazione e escape:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#
Sicuro da incorporare in JSON, XML, stringhe C e codice sorgente senza escape.
Come funziona la matematica
Ogni 4 byte vengono letti come un intero a 32 bit in big-endian N. I 5 caratteri di output sono le cifre di N in base 85, con il più significativo per primo. 85^5 = 4 437 053 125 che è maggiore di 2^32, quindi 4 byte si adattano sempre in 5 caratteri.
Quando Ascii85 è importante
Apri qualsiasi PDF in un editor di testo e cerca ASCII85Decode — Adobe lo usa come filtro per immagini e font incorporati che devono sopravvivere a un trasporto a 7 bit (sistemi in stile fax vecchi). Z85 è ampiamente usato nelle chiavi di autenticazione CURVE di ZeroMQ.
Casi speciali
- Blocco di 4 byte tutto zero — Ascii85 lo codifica come il singolo carattere
zinvece di!!!!!. - Blocco di 4 byte tutto spazi — Alcune varianti usano
yper quattro spazi, altre no. - Ultimo blocco parziale — Riempito con byte zero, e il numero corrispondente di caratteri di output è troncato alla fine.
Domande frequenti
Output più piccolo, sì. Universale compatibilità, no. Base85 contiene caratteri come <, >, &, " (in Ascii85) che necessitano di escape in XML, JSON e URL. Z85 evita questo ma la maggior parte degli strumenti parla nativamente Base64.
Ascii85 se stai lavorando con file PostScript o PDF. Z85 per codice sorgente, file di configurazione e protocolli di rete. La codifica IPv6 RFC 1924 è un’assegnazione diversa dei medesimi 85 caratteri ed è raramente usata in pratica.
No. Usano alfabeti diversi. Decodificare Ascii85 con una tabella Z85 produrrà spazzatura. Scegli uno prima di codificare e attieniti ad esso.
Per Adobe Ascii85 in flussi PDF o PostScript, sì — segnano la regione codificata. Per uso autonomo e tutto l’output Z85, non sono necessari delimitatori.
Strumenti correlati
AES Crittografia / Decrittografia
Crittografa e decrittografa testo a basso rischio con cifrari AES OpenSSL. La passphrase viene sottoposta a SHA-256 e il risultato Base64 contiene IV più testo cifrato.
Codificatore A1Z26
Codifica il testo utilizzando il cifrario A1Z26 (A=1, B=2, ... Z=26) o decodifica una sequenza di numeri in lettere, con separatore personalizzabile.
Codificatore del Cifrario Atbash
Codifica o decodifica il testo con il cifrario Atbash, una sostituzione ebraica che mappa A-Z a Z-A. La stessa operazione cripta e decripta.
Codificatore e Decodificatore Base32
Codifica e decodifica stringhe Base32 utilizzando l'alfabeto RFC 4648. Utile per segreti TOTP, token non sensibili al maiuscolo e identificatori digitati da umani.
Generatore di hash bcrypt
Genera hash bcrypt o verifica una password in chiaro contro un hash bcrypt esistente. Genera e verifica affiancati in un unico strumento.
Generatore bcrypt
Genera un hash bcrypt da una password in chiaro. Fattore di costo regolabile da 4 a 14, compatibile con Laravel, Django, Node e PHP.