> encode | decode | ascii85 <

// Kodowanie Base85 (ASCII85) dla wydajnej reprezentacji danych binarnych

[EFFICIENT]

Wysoka wydajność

Bardziej wydajne niż Base64 (~25% krótsze przy tych samych danych).

[SECURE]

Przetwarzanie lokalne

Wszystkie konwersje w przeglądarce. Dane nie opuszczają urządzenia.

[STANDARD]

Standard Adobe

Używa ASCII85 z ogranicznikami <~ ~>, zgodny z PostScript.

>> informacje techniczne

Jak działa Base85:

Base85 używa 85 drukowalnych znaków ASCII do kodowania danych binarnych. 4 bajty → 5 znaków; wydajniejsze niż Base64.

Przykład:

"Hello" → <~87cURD]i~>

Dlaczego używać Base85:

  • >Wydajniejsze niż Base64 (~25% krótsze)
  • >Standard w PostScript/PDF
  • >Dobry współczynnik kompresji
  • >Tylko drukowalne znaki ASCII
  • >Skrót 'z' dla czterech zerowych bajtów

>> często zadawane pytania

Czym jest kodowanie Base85?

Base85 (ASCII85) to kodowanie binarno‑tekstowe z użyciem 85 drukowalnych znaków ASCII, bardziej wydajne niż Base64.

Dlaczego wydajniejsze niż Base64?

Base85: 4 bajty→5 znaków (80%) vs Base64: 3→4 (75%); ok. 25% krótsze.

Co oznaczają ograniczniki <~ ~>?

To element standardu Adobe ASCII85, wyznaczają początek i koniec danych.

Co znaczy znak 'z'?

Skrót oznaczający cztery kolejne zera bajtowe (\x00\x00\x00\x00).

// Krótka ściąga

WejścieASCII85Base64
Man 9jqo^TWFuIA==
sure.F*2M7/cc3VyZS4=
Hello87cURDZSGVsbG8=
\0\0\0\0zAAAAAA==

// Przykłady kodu

Adobe     <~87cURDZ~>            (PostScript / PDF, z = four zero bytes)
Python    base64.a85encode(b'Hello')  ->  b'87cURDZ'
          base64.b85encode(b'Hello')  ->  b'NM&qnZv'   (RFC 1924 / Git alphabet)
Z85       ZeroMQ, safe to embed in source strings
Size      4 bytes -> 5 chars  (Base64: 4 bytes -> 5.33 chars)

>> Więcej pytań

P: Czym różnią się ASCII85, Base85 i Z85?

O: Wszystkie trzy opierają się na tej samej matematyce (4 bajty → 5 znaków), ale mają różne alfabety: ASCII85 (Adobe, PDF/PostScript) używa znaków od ! do u, ramki <~ … ~> i z dla czterech zerowych bajtów; Base85 (RFC 1924, Git) ma inny alfabet; Z85 (ZeroMQ) — alfabet bezpieczny do osadzania w kodzie źródłowym.

P: Jak duży jest Base85 w porównaniu z Base64?

O: 4 bajty dają dokładnie 5 znaków, a w Base64 ok. 5,33. Narzut spada z 33% do 25%, czyli dla tych samych danych jest ok. 25% mniej znaków.

P: Czy Base85 jest bezpieczny w adresach URL?

O: Nie. ASCII85 zawiera znaki takie jak & , ; ' " < >, które trzeba escapować w URL, HTML lub powłoce. Do URL użyj Base64url, do kodu źródłowego raczej Z85.