UTILS.
100% w przeglądarce
🔠

Kodowanie i dekodowanie Ascii85 / Base85

Koduj bajty do Ascii85/Base85 i dekoduj je z powrotem, z obsługą wariantu standardowego i Adobe (<~ ~>), w całości w Twojej przeglądarce.

— wynik pojawi się tutaj —

O tym narzędziu

Narzędzie Ascii85 / Base85 konwertuje dane binarne do i z formatu Ascii85 (nazywanego też Base85), kodowania tekstowego, które upakowuje cztery bajty w pięć drukowalnych znaków — jest około 25% bardziej zwarte niż Base64. Jest używane wewnątrz strumieni PostScript i PDF (wariant Adobe) oraz w formatach patch/diff. Wszystko działa lokalnie w Twojej przeglądarce z użyciem TextEncoder/TextDecoder; nic, co wkleisz, nie jest wysyłane.

Kodowanie przetwarza dane wejściowe jako 4-bajtowe grupy big-endian, odczytuje każdą grupę jako 32-bitową liczbę całkowitą bez znaku i emituje pięć cyfr, wielokrotnie biorąc wartość modulo 85 i dodając 33, tak że każda cyfra mieści się w drukowalnym zakresie od '!' (33) do 'u' (117). Grupa złożona z samych zer zwija się do pojedynczego znaku 'z'. Końcowa niepełna grupa n bajtów (1–3) jest uzupełniana zerami do czterech, kodowana, a ostatnie 4−n znaków wyjściowych jest odrzucanych, dając n+1 znaków. Wariant Adobe otacza wynik znakami '<~' i '~>'.

Dekodowanie odwraca ten proces: białe znaki i ewentualne otoczenie są usuwane, 'z' rozwija się do czterech bajtów zerowych, pięcioznakowe grupy są odczytywane jako value = Σ (cᵢ−33)·85^(4−i) i zapisywane jako cztery bajty big-endian, a końcowa niepełna grupa m znaków (2–5) jest uzupełniana znakiem 'u' (wartość 84) i zachowuje m−1 bajtów. Wybierz kierunek, wariant standardowy lub Adobe oraz to, czy bajty wejściowe są tekstem UTF-8 czy hex.

Najczęściej zadawane pytania

Czym jest skrót 'z'?
Grupa czterech bajtów zerowych (0x00000000) zostałaby zakodowana jako '!!!!!'. Ascii85 zamiast tego emituje dla niej pojedynczy znak 'z' jako skrót kompresyjny. Przy dekodowaniu 'z' rozwija się z powrotem do czterech bajtów zerowych — ale tylko wtedy, gdy pojawia się na granicy grupy, nigdy w środku pięcioznakowej grupy.
Czym Ascii85 różni się od Base64?
Base64 koduje 3 bajty jako 4 znaki (33% narzutu); Ascii85 koduje 4 bajty jako 5 znaków (25% narzutu), więc jest bardziej zwarte. Base64 używa 64-symbolowego alfabetu, podczas gdy Ascii85 używa 85 drukowalnych symboli ASCII od '!' do 'u'.
Czym jest wariant Adobe?
Ascii85 firmy Adobe, używane w PostScript i PDF, otacza ładunek ogranicznikami '<~' i '~>'. Główny algorytm jest identyczny. Wybór wariantu Adobe dodaje te znaczniki przy kodowaniu i usuwa je przy dekodowaniu; wariant standardowy je pomija.
Czy moje dane są gdzieś wysyłane?
Nie. Kodowanie i dekodowanie odbywają się w całości w Twojej przeglądarce z użyciem zwykłego JavaScriptu oraz TextEncoder/TextDecoder. Nic nie jest wysyłane na serwer, więc możesz bezpiecznie przetwarzać prywatne lub binarne dane.

Więcej narzędzi