> adobe | postscript | pdf <
// Ascii85 – kodowanie Base85 Adobe dla PostScript i PDF
Standard Adobe
Oficjalne kodowanie używane w dokumentach PostScript i PDF na całym świecie.
Narzut 25%
Bardziej wydajne niż Base64, przy wzroście rozmiaru tylko o około 25%.
Kompresja zer
Specjalny znak 'z' efektywnie reprezentuje cztery kolejne bajty o wartości zero.
>> informacje techniczne
Jak działa Ascii85:
Ascii85 koduje 4 bajty do 5 drukowalnych znaków ASCII (33–117). Używa specjalnego kodowania dla grup składających się wyłącznie z zer ('z') i w implementacji Adobe otacza dane delimiterami <~ ~>.
Przykład:
"Hello" → <~87cURD]i,"~>
Dlaczego warto używać Ascii85:
- >Standard Adobe PostScript/PDF
- >Narzut 25% w porównaniu z 33% dla Base64
- >Wydajna kompresja bloków zer
- >Drukowalny wynik ASCII
- >Szerokie wsparcie w narzędziach i bibliotekach
>> najczęściej zadawane pytania
Czym jest kodowanie Ascii85?
Ascii85 (nazywane także Base85) to schemat kodowania binarny‑tekst opracowany przez Adobe, używany w plikach PostScript i PDF. Koduje dane binarne za pomocą 85 drukowalnych znaków ASCII.
Czym są delimitery <~ ~>?
Delimitery <~ i ~> oznaczają początek i koniec danych zakodowanych w Ascii85 w implementacji Adobe. Ułatwiają parserom odnajdywanie zakodowanych sekcji w plikach PostScript/PDF.
Czym Ascii85 różni się od Z85?
Choć oba są wariantami Base85, Ascii85 używa innego zestawu znaków i dopuszcza białe znaki. Z85 jest zoptymalizowane pod kątem kodu źródłowego, natomiast Ascii85 pod kątem PostScript/PDF.
Co oznacza znak 'z'?
Znak 'z' jest specjalną funkcją kompresji w Ascii85. Reprezentuje cztery kolejne bajty zer, dzięki czemu kodowanie jest bardziej wydajne dla danych z dużą liczbą zer.
Inne języki
Źródła
Jak sprawdzamy wyniki
Sprawdzamy to narzędzie za pomocą poniższych testów automatycznych. Nazwy przykładów pozostają w oryginalnym języku.
- Verification method
- Cross-decode page and Python outputs, including UTF-8, high bytes and partial four-byte groups.
- Comparison reference
- Python standard-library base64.a85encode / a85decode.
- Verification scope
- These samples and boundaries do not prove correctness for every input.
Test source and cases (select a file to read it)
-
encoding-reliability.test.js
- ASCII85 and Base85: real encoders and decoders agree with Python base64.a85 including UTF-8 and partial tuples
Testy obejmują podane przykłady i granice, nie wszystkie możliwe dane wejściowe. Konwersja w obie strony i ta sama biblioteka nie stanowią niezależnej weryfikacji.