> maximale | efficiëntie | compressie <
// Base91-codering met 91 afdrukbare ASCII-tekens voor maximale ruimte-efficiëntie
Maximale efficiëntie
Base91 biedt een van de beste compressieratio's onder de veelgebruikte base-encodings, met slechts circa 23 % overhead.
Alleen afdrukbare tekens
Gebruikt 91 afdrukbare ASCII-tekens en blijft daarmee compatibel met de meeste tekstgebaseerde protocollen en logs.
Ruimtebesparend
Compacter dan Base64 (ongeveer 33 % overhead) en dus ideaal om payloads en logbestanden kleiner te maken.
>> technische info
Hoe Base91 werkt:
Base91 gebruikt 91 van de 94 afdrukbare ASCII-tekens (met uitzondering van koppelteken, backslash en apostrof) en verpakt 13–14 bits in telkens twee uitvoertekens, wat resulteert in een zeer efficiënte codering.
Voorbeeld:
"Hello" → >OwJh>A
Waarom Base91 gebruiken:
- >Minimaliseer de grootte van gecodeerde tekst
- >Ongeveer 23 % overhead tegenover ~33 % bij Base64
- >Gebaseerd op uitsluitend afdrukbare ASCII-tekens
- >Geschikt voor beperkte bandbreedte en opslag
- >Hogere informatiedichtheid in tekst en logging
>> veelgestelde vragen
Wat is Base91-codering?
Base91 is een binair-naar-tekst-encodingschema dat 91 afdrukbare ASCII-tekens gebruikt om een hogere compressie-efficiëntie te bereiken dan traditionele formaten zoals Base64.
Wanneer is Base91 een goede keuze?
Base91 is nuttig als elke byte telt – bijvoorbeeld bij grote logbestanden, API's met beperkte bandbreedte of berichtenkanalen waar de payload zo klein mogelijk moet zijn.
Hoe efficiënt is Base91 vergeleken met Base64?
Base64 voegt doorgaans ongeveer 33 % overhead toe, terwijl Base91 rond de 23 % blijft. Voor grote datasets levert dat merkbaar kleinere strings op.
Wordt Base91 breed ondersteund?
Base91 is minder gangbaar dan Base64, maar er bestaan bibliotheken in veel programmeertalen en het wordt gebruikt in projecten waar de compactheid van tekstprioriteit heeft.
// Vergelijking
| Naam | bits/char | overhead |
|---|---|---|
| Base16 | 4 | 100% |
| Base32 | 5 | 60% |
| Base64 | 6 | 33.3% |
| Base85 | 6.41 | 24.8% |
| Base91 | 6.51 | 22.9% |
// Codevoorbeelden
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(...)
>> Meer vragen
V: Welke 91 tekens gebruikt basE91?
A: basE91 gebruikt 91 van de 94 afdrukbare ASCII-tekens (zonder spatie): A–Z a–z 0–9 en ! # $ % & ( ) * + , . / : ; < = > ? @ [ ] ^ _ ` { | } ~ ". Uitgesloten zijn -, \ en '. Het aanhalingsteken " zit er wél in en moet in JSON of shell worden geëscaped.
V: Waarom is de overhead van Base91 ongeveer 23%?
A: Met 91 symbolen draagt elk teken log₂(91) ≈ 6,508 bit. 8 / 6,508 ≈ 1,229, dus ongeveer 22,9% overhead. Ter vergelijking: Base32 60%, Base64 33%, Base85 25%.
V: Wanneer is Base91 beter dan Base64?
A: Alleen als elke byte telt, zoals bij embedded systemen of beperkte protocollen. Base91 is niet URL-veilig, zit niet in standaardbibliotheken en wordt weinig ondersteund. Voor dagelijks gebruik blijft Base64 beter.