> massima | efficienza | compressione <
// Codifica Base91 con 91 caratteri ASCII stampabili per la massima efficienza nello spazio
Efficienza massima
Base91 offre uno dei migliori rapporti di compressione tra gli schemi di codifica base, con circa il 23 % di overhead.
Solo caratteri stampabili
Utilizza 91 caratteri ASCII stampabili, rimanendo compatibile con protocolli e flussi di testo tradizionali.
Risparmio di spazio
Più compatto del Base64 (circa 33 % di overhead), riducendo la dimensione di log, payload HTTP e altri contenuti testuali.
>> informazioni tecniche
Come funziona Base91:
Base91 utilizza 91 dei 94 caratteri ASCII stampabili (escludendo trattino, backslash e apostrofo) e impacchetta 13–14 bit in ogni coppia di caratteri di output, ottenendo un'efficienza di codifica molto elevata.
Esempio:
"Hello" → >OwJh>A
Perché usare Base91:
- >Ridurre al minimo la dimensione dei dati codificati
- >Overhead intorno al 23 % rispetto a ~33 % per Base64
- >Basato solo su caratteri ASCII stampabili
- >Ideale per canali a banda limitata o storage ridotto
- >Maggiore densità informativa nei log e nei messaggi
>> domande frequenti
Che cos'è la codifica Base91?
Base91 è uno schema di codifica binario‑testo che utilizza 91 caratteri ASCII stampabili per ottenere una compressione più efficiente rispetto a formati come Base64.
Quando conviene usare Base91 invece di Base64?
Base91 è utile quando ogni byte conta: log molto voluminosi, API con banda limitata o sistemi in cui il payload testuale deve rimanere il più piccolo possibile.
Quanto è efficiente Base91 rispetto a Base64?
Il Base64 introduce tipicamente un overhead di circa il 33 %, mentre Base91 si aggira intorno al 23 %, riducendo in modo sensibile la dimensione della stringa risultante.
Base91 è ampiamente supportato?
Base91 è meno diffuso del Base64, ma esistono implementazioni in molti linguaggi e librerie open source che lo rendono semplice da integrare quando serve la massima efficienza.
// Confronto
| Nome | bits/char | overhead |
|---|---|---|
| Base16 | 4 | 100% |
| Base32 | 5 | 60% |
| Base64 | 6 | 33.3% |
| Base85 | 6.41 | 24.8% |
| Base91 | 6.51 | 22.9% |
// Esempi di codice
Alphabet A-Z a-z 0-9 ! # $ % & ( ) * + , . / : ; < = > ? @ [ ] ^ _ ` { | } ~ "
Excluded - \ ' and space (3 of the 94 printable ASCII characters)
Bits log2(91) = 6.508 bits/char -> 8 / 6.508 = 1.229 (~23% overhead)
Python pip install base91 base91.encode(b'Hello')
JS npm i base91 base91.encode(...)
>> Altre domande
D: Quali sono i 91 caratteri di basE91?
R: basE91 usa 91 dei 94 caratteri ASCII stampabili (spazio escluso): A–Z a–z 0–9 e ! # $ % & ( ) * + , . / : ; < = > ? @ [ ] ^ _ ` { | } ~ ". Sono esclusi -, \ e '. Le virgolette " sono incluse e vanno escapate in JSON o shell.
D: Perché l’overhead di Base91 è circa il 23 %?
R: Con 91 simboli ogni carattere porta log₂(91) ≈ 6,508 bit. 8 / 6,508 ≈ 1,229, cioè circa il 22,9 % di overhead. Confronto: Base32 60 %, Base64 33 %, Base85 25 %.
D: Quando Base91 è meglio di Base64?
R: Solo quando ogni byte conta, come nei sistemi embedded o nei protocolli limitati. Base91 non è sicuro per gli URL, non è nelle librerie standard ed è poco supportato. Nell’uso quotidiano Base64 è preferibile.