> encode | decode | ascii85 <
// Codifica Base85 (ASCII85) per una rappresentazione efficiente dei dati binari
Alta efficienza
Più efficiente di Base64 (~25% in meno a parità di dati).
Elaborazione locale
Tutte le conversioni avvengono nel browser. I dati non lasciano il dispositivo.
Standard Adobe
Usa il formato ASCII85 con delimitatori <~ ~>, compatibile con PostScript.
>> informazioni tecniche
Come funziona Base85:
Base85 utilizza 85 caratteri ASCII stampabili per codificare i dati binari. 4 byte diventano 5 caratteri: più efficiente di Base64.
Esempio:
"Hello" → <~87cURD]i~>
Perché usare Base85:
- >Più efficiente di Base64 (~25% più compatto)
- >Standard in PostScript/PDF
- >Buon rapporto di compressione
- >Solo caratteri ASCII stampabili
- >Scorciatoia 'z' per quattro byte zero
>> domande frequenti
Che cos’è la codifica Base85?
Base85 (ASCII85) è uno schema di codifica binario‑testo che usa 85 caratteri ASCII stampabili, più efficiente del Base64.
Perché Base85 è più efficiente di Base64?
Base85: 4 byte → 5 caratteri (80%); Base64: 3 → 4 (75%). Circa il 25% più compatto.
Cosa sono i delimitatori <~ ~>?
Fanno parte dello standard Adobe ASCII85 e delimitano inizio/fine dei dati codificati.
Cosa significa il carattere 'z'?
È una scorciatoia che rappresenta quattro byte zero consecutivi (\x00\x00\x00\x00).
// Riferimento rapido
| Input | ASCII85 | Base64 |
|---|---|---|
| Man | 9jqo^ | TWFuIA== |
| sure. | F*2M7/c | c3VyZS4= |
| Hello | 87cURDZ | SGVsbG8= |
| \0\0\0\0 | z | AAAAAA== |
// Esempi di codice
Adobe <~87cURDZ~> (PostScript / PDF, z = four zero bytes)
Python base64.a85encode(b'Hello') -> b'87cURDZ'
base64.b85encode(b'Hello') -> b'NM&qnZv' (RFC 1924 / Git alphabet)
Z85 ZeroMQ, safe to embed in source strings
Size 4 bytes -> 5 chars (Base64: 4 bytes -> 5.33 chars)
>> Altre domande
D: Che differenza c’è tra ASCII85, Base85 e Z85?
R: Tutti e tre usano lo stesso calcolo (4 byte → 5 caratteri) ma alfabeti diversi: ASCII85 (Adobe, PDF/PostScript) usa da ! a u con <~ … ~> e z per quattro byte nulli; Base85 (RFC 1924, Git) un altro alfabeto; Z85 (ZeroMQ) uno sicuro da incorporare nel codice sorgente.
D: Quanto è grande Base85 rispetto a Base64?
R: 4 byte producono esattamente 5 caratteri, contro circa 5,33 di Base64. L’overhead scende dal 33 % al 25 %, cioè circa il 25 % di caratteri in meno per gli stessi dati.
D: Base85 è sicuro per gli URL?
R: No. ASCII85 contiene caratteri come & , ; ' " < > che vanno escapati in URL, HTML o shell. Per gli URL usa Base64url; per il codice sorgente meglio Z85.