> maksimal | effektivitet | komprimering <
// Base91-koding med 91 skrivbare ASCII-tegn for maksimal plasseffektivitet
Maksimal effektivitet
Base91 gir en av de beste kompresjonsgradene blant vanlige base-kodingsskjemaer, med bare rundt 23 % overhead.
Kun skrivbare tegn
Bruker 91 skrivbare ASCII-tegn, noe som gjør det godt egnet for logger, tekstbaserte protokoller og terminalutskrifter.
Plassbesparende
Gir kortere strenger enn Base64 (som ofte gir ~33 % overhead), og reduserer dermed størrelsen på API-svar og andre tekstpayloads.
>> teknisk info
Hvordan Base91 fungerer:
Base91 bruker 91 av de 94 skrivbare ASCII-tegnene (uten bindestrek, backslash og apostrof), og pakker 13–14 bit i hvert par av utdatategn for å oppnå høy kodingseffektivitet.
Eksempel:
"Hello" → >OwJh>A
Hvorfor bruke Base91:
- >Minimer størrelsen på kodede tekstdata
- >Omtrent 23 % overhead sammenlignet med ~33 % for Base64
- >Kun skrivbare ASCII-tegn i utdata
- >Godt valg når båndbredde eller lagring er begrenset
- >Høyere informasjonstetthet i logger og meldinger
>> ofte stilte spørsmål
Hva er Base91-koding?
Base91 er et binær-til-tekst-kodingsskjema som bruker 91 skrivbare ASCII-tegn, og er laget for å gi bedre kompresjonseffektivitet enn tradisjonelle formater som Base64.
Når er Base91 et godt valg?
Når du vil holde kodet tekst så liten som mulig – for eksempel i logger, over smale nettforbindelser eller når du ofte overfører tekstpayloads.
Hvor effektiv er Base91 sammenlignet med Base64?
Base64 øker som regel datastørrelsen med rundt 33 %, mens Base91 ligger på omtrent 23 %, noe som gir merkbart mindre utdata for større datamengder.
Er Base91 godt støttet?
Base91 er mindre utbredt enn Base64, men finnes som biblioteker i flere programmeringsspråk og brukes i prosjekter der kompakt tekstrepresentasjon er viktig.
// 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ørsmål
S: Hvilke 91 tegn bruker basE91?
S: basE91 bruker 91 av de 94 utskrivbare ASCII-tegnene (uten mellomrom): A–Z a–z 0–9 og ! # $ % & ( ) * + , . / : ; < = > ? @ [ ] ^ _ ` { | } ~ ". Utelatt er -, \ og '. Anførselstegnet " er med og må escapes i JSON eller skall.
S: Hvorfor er Base91 sin overhead rundt 23 %?
S: Med 91 symboler bærer hvert tegn log₂(91) ≈ 6,508 bit. 8 / 6,508 ≈ 1,229, altså omtrent 22,9 % overhead. Til sammenligning: Base32 60 %, Base64 33 %, Base85 25 %.
S: Når er Base91 bedre enn Base64?
S: Bare når hver byte teller, for eksempel i innebygde systemer eller begrensede protokoller. Base91 er ikke URL-sikker, finnes ikke i standardbibliotek og har lite støtte. I hverdagen er Base64 bedre.