> maksimal | effektivitet | kompression <
// Base91-kodning med 91 skrivbare ASCII-tegn for maksimal pladseffektivitet
Maksimal effektivitet
Base91 giver en af de bedste kompressionsrater blandt almindelige basekodninger med kun ca. 23 % overhead.
Kun skrivbare tegn
Bruger 91 skrivbare ASCII-tegn, hvilket gør det velegnet til logfiler, tekstprotokoller og konsoloutput.
Pladsbesparende
Producerer kortere strenge end Base64 (typisk ~33 % overhead) og reducerer størrelsen på API-svar og tekstbaserede payloads.
>> teknisk info
Hvordan Base91 fungerer:
Base91 bruger 91 af de 94 skrivbare ASCII-tegn (uden bindestreg, backslash og apostrof) og pakker 13–14 bit i hvert sæt på to outputtegn for at opnå en meget høj kodningstæthed.
Eksempel:
"Hello" → >OwJh>A
Hvorfor bruge Base91:
- >Minimér størrelsen på kodede tekstdata
- >Ca. 23 % overhead mod ~33 % for Base64
- >Alene skrivbare tegn – nemt at transportere over tekstprotokoller
- >Særligt velegnet ved begrænset båndbredde eller lager
- >Øger informationstætheden i logfiler og meddelelser
>> ofte stillede spørgsmål
Hvad er Base91-kodning?
Base91 er et binær-til-tekst-kodningsskema, der bruger 91 skrivbare ASCII-tegn for at opnå højere kompressionseffektivitet end traditionelle formater som Base64.
Hvornår bør jeg vælge Base91?
Når hver byte tæller – f.eks. i store logfiler, på snævre forbindelser eller hvor kodede tekstdata bruges intensivt over tid.
Hvor meget mere effektiv er Base91 end Base64?
Base64 giver normalt ca. 33 % overhead, mens Base91 ligger omkring 23 %, hvilket kan mærkes tydeligt i store datasæt.
Er Base91 udbredt?
Base91 er mindre udbredt end Base64, men findes som biblioteker til mange sprog og bruges i systemer, hvor kompakt tekstrepræsentation er vigtig.
// Sammenligning
| Navn | bits/char | overhead |
|---|---|---|
| Base16 | 4 | 100% |
| Base32 | 5 | 60% |
| Base64 | 6 | 33.3% |
| Base85 | 6.41 | 24.8% |
| Base91 | 6.51 | 22.9% |
// Kodeeksempler
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(...)
>> Flere spørgsmål
S: Hvilke 91 tegn bruger basE91?
S: basE91 bruger 91 af de 94 udskrivbare ASCII-tegn (uden mellemrum): A–Z a–z 0–9 og ! # $ % & ( ) * + , . / : ; < = > ? @ [ ] ^ _ ` { | } ~ ". Udeladt er -, \ og '. Anførselstegnet " er med og skal escapes i JSON eller shell.
S: Hvorfor er Base91’s overhead omkring 23 %?
S: Med 91 symboler bærer hvert tegn log₂(91) ≈ 6,508 bit. 8 / 6,508 ≈ 1,229, altså cirka 22,9 % overhead. Til sammenligning: Base32 60 %, Base64 33 %, Base85 25 %.
S: Hvornår er Base91 bedre end Base64?
S: Kun når hver byte tæller, fx i indlejrede systemer eller begrænsede protokoller. Base91 er ikke URL-sikker, findes ikke i standardbiblioteker og har lidt understøttelse. Til hverdag er Base64 bedre.