> maksymalna | efektywność | kompresja <

// Kodowanie Base91 z użyciem 91 drukowalnych znaków ASCII dla najwyższej efektywności przestrzennej

[MAXIMUM]

Maksymalna efektywność

Base91 zapewnia jedną z najlepszych efektywności kompresji wśród popularnych schematów kodowania base, z narzutem rzędu 23%.

[ASCII]

Tylko znaki drukowalne

Korzysta z 91 drukowalnych znaków ASCII, co ułatwia wykorzystanie w logach, protokołach tekstowych i narzędziach CLI.

[KOMPAKTOWOŚĆ]

Oszczędność miejsca

Bardziej kompaktowe niż Base64 (około 33% narzutu), co pozwala ograniczyć rozmiar odpowiedzi HTTP, plików logów i innych ładunków tekstowych.

>> informacje techniczne

Jak działa Base91:

Base91 używa 91 z 94 drukowalnych znaków ASCII (z pominięciem myślnika, odwrotnego ukośnika i apostrofu) i pakuje 13–14 bitów w każdą parę znaków wyjściowych, zapewniając wysoką gęstość kodowania.

Przykład:

"Hello" → >OwJh>A

Dlaczego warto używać Base91:

  • >Minimalizacja rozmiaru zakodowanych danych tekstowych
  • >Około 23% narzutu zamiast ~33% w przypadku Base64
  • >Wykorzystuje wyłącznie drukowalne znaki ASCII
  • >Lepszy wybór przy ograniczonej przepustowości lub drogim magazynie
  • >Wyższa gęstość informacji w logach i wiadomościach

>> najczęściej zadawane pytania

Czym jest kodowanie Base91?

Base91 to schemat kodowania danych binarnych do postaci tekstowej, który wykorzystuje 91 drukowalnych znaków ASCII i oferuje lepszą efektywność kompresji niż tradycyjne schematy, np. Base64.

Kiedy sięgać po Base91 zamiast Base64?

Base91 jest szczególnie przydatne, gdy liczy się każdy bajt – przy dużych logach, komunikacji przez wąskie łącza lub przechowywaniu dużych ilości tekstu w zakodowanej formie.

Jak Base91 wypada na tle Base64 pod względem rozmiaru?

Base64 zwykle zwiększa rozmiar danych o ok. 33%, podczas gdy Base91 ogranicza ten narzut do ok. 23%, generując krótsze ciągi znaków.

Czy Base91 jest szeroko wspierane?

Base91 nie jest tak powszechne jak Base64, ale istnieje wiele implementacji w popularnych językach programowania i jest stosowane w projektach, gdzie priorytetem jest kompaktowa reprezentacja tekstu.

// Porównanie

Nazwabits/charoverhead
Base164100%
Base32560%
Base64633.3%
Base856.4124.8%
Base916.5122.9%

// Przykłady kodu

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(...)

>> Więcej pytań

P: Jakich 91 znaków używa basE91?

O: basE91 używa 91 z 94 drukowalnych znaków ASCII (bez spacji): A–Z a–z 0–9 oraz ! # $ % & ( ) * + , . / : ; < = > ? @ [ ] ^ _ ` { | } ~ ". Wykluczone są -, \ i '. Cudzysłów " jest w alfabecie i trzeba go escapować w JSON lub powłoce.

P: Dlaczego narzut Base91 wynosi ok. 23%?

O: Przy 91 symbolach każdy znak niesie log₂(91) ≈ 6,508 bita. 8 / 6,508 ≈ 1,229, czyli ok. 22,9% narzutu. Dla porównania: Base32 60%, Base64 33%, Base85 25%.

P: Kiedy Base91 jest lepszy od Base64?

O: Tylko gdy liczy się każdy bajt, np. w systemach wbudowanych lub ograniczonych protokołach. Base91 nie jest bezpieczny dla URL, nie ma go w standardowych bibliotekach i ma małe wsparcie. Na co dzień lepszy jest Base64.

Inne języki