> maximal | effektivitet | kompression <
// Base91-kodning med 91 skrivbara ASCII-tecken för maximal rymdeffektivitet
Maximal effektivitet
Base91 ger en av de bästa kompressionsgraderna bland vanliga base-kodningar, med endast cirka 23 % overhead.
Endast skrivbara tecken
Använder 91 skrivbara ASCII-tecken och lämpar sig därför väl för loggar, textbaserade protokoll och terminalutskrifter.
Platsbesparande
Producerar kortare strängar än Base64 (som ofta ger ~33 % overhead), vilket minskar storleken på API-svar och andra textpayloads.
>> teknisk info
Hur Base91 fungerar:
Base91 använder 91 av de 94 skrivbara ASCII-tecknen (utan bindestreck, backslash och apostrof) och packar 13–14 bitar i varje par av utdatatecken, vilket ger en mycket hög kodningstäthet.
Exempel:
"Hello" → >OwJh>A
Varför använda Base91:
- >Minimera storleken på kodad text
- >Ungefär 23 % overhead jämfört med ~33 % för Base64
- >Endast skrivbara ASCII-tecken i utdata
- >Bra val när bandbredd eller lagring är begränsad
- >Högre informationstäthet i loggar och meddelanden
>> vanliga frågor
Vad är Base91-kodning?
Base91 är ett binär-till-text-kodningsschema som använder 91 skrivbara ASCII-tecken och är utformat för att ge bättre kompressionseffektivitet än traditionella format som Base64.
När är Base91 ett bra alternativ?
När du vill hålla kodad text så liten som möjligt – till exempel i loggar, över smala nätförbindelser eller i system där textpayloads skickas ofta.
Hur effektiv är Base91 jämfört med Base64?
Base64 ökar datans storlek med cirka 33 %, medan Base91 ligger runt 23 %, vilket ger märkbara besparingar på större mängder data.
Är Base91 allmänt stödd?
Base91 är mindre utbrett än Base64, men det finns bibliotek för många programmeringsspråk och det används i projekt där kompakt textrepresentation är viktig.
// Jämförelse
| Namn | bits/char | overhead |
|---|---|---|
| Base16 | 4 | 100% |
| Base32 | 5 | 60% |
| Base64 | 6 | 33.3% |
| Base85 | 6.41 | 24.8% |
| Base91 | 6.51 | 22.9% |
// Kodexempel
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(...)
>> Fler frågor
F: Vilka 91 tecken använder basE91?
S: basE91 använder 91 av de 94 utskrivbara ASCII-tecknen (utan mellanslag): A–Z a–z 0–9 och ! # $ % & ( ) * + , . / : ; < = > ? @ [ ] ^ _ ` { | } ~ ". Uteslutna är -, \ och '. Citattecknet " ingår och måste maskeras i JSON eller skal.
F: Varför är Base91:s overhead ungefär 23 %?
S: Med 91 symboler bär varje tecken log₂(91) ≈ 6,508 bitar. 8 / 6,508 ≈ 1,229, alltså cirka 22,9 % overhead. Jämförelse: Base32 60 %, Base64 33 %, Base85 25 %.
F: När är Base91 bättre än Base64?
S: Bara när varje byte räknas, till exempel i inbyggda system eller begränsade protokoll. Base91 är inte URL-säkert, finns inte i standardbibliotek och har lite stöd. För vardagsbruk är Base64 bättre.