Koder i dekoder Base85
Base85 upycha cztery bajty w pięciu znakach ASCII, gęściej niż proporcja 3-do-4 w Base64, używając alfabetu 85-znakowego zamiast 64. To narzędzie implementuje wariant Adobe Ascii85, obecny w plikach PostScript i PDF. Koder zawsze otacza wynik delimiterami <~ i ~>; dekoder przyjmuje dane z nimi lub bez nich.
Jak konwertować Base85 (Ascii85)
-
1
Wybierz kodowanie lub dekodowanie
Kodowanie zamienia surowe bajty na Ascii85; dekodowanie zamienia ciąg Ascii85 z powrotem na bajty.
-
2
Wklej tekst
Wklej do pola bajty do zakodowania albo ciąg Ascii85 do zdekodowania.
-
3
Koder porcjuje po 4 bajty
Każdy blok 4-bajtowy staje się 5-znakowym ciągiem Base85. Ostatni blok jest dopełniany i obcinany.
-
4
Skopiuj wynik
Wynik Ascii85 jest otoczony delimiterami `<~` i `~>`. Wklej go ponownie, aby go zdekodować; delimitery są usuwane automatycznie.
Porównanie narzutu rozmiaru
| Kodowanie | Znaki na 4 bajty | Narzut względem binarnego |
|---|---|---|
| Hex | 8 | +100% |
| Base64 | 5,33 (zaokrąglane w górę do 8 z paddingiem) | +37% |
| Base85 | 5 | +25% |
| Surowe binarne | 4 | 0 |
Zatem 1 MB danych binarnych staje się 1,25 MB w Base85, 1,33 MB w Base64 i 2 MB w hex.
Alfabet Ascii85
Ascii85 (Adobe): znaki od ! do u (33-117 w ASCII) plus z jako skrót dla 4 bajtów zerowych. To standardowe kodowanie strumieni PostScript i PDF, owijane jako <~...~>.
Z85 (ZeroMQ) i alfabet RFC 1924 dla IPv6 to inne przypisania tego samego pomysłu 85 znaków. To narzędzie ich nie implementuje, więc ciąg zakodowany w tych wariantach zostałby tu zdekodowany nieprawidłowo.
Jak działa matematyka
Każde 4 bajty są czytane jako 32-bitowa liczba całkowita big-endian N. Pięć znaków wyjściowych to cyfry N w podstawie 85, od najbardziej znaczącej. 85^5 = 4 437 053 125, czyli więcej niż 2^32, więc 4 bajty zawsze mieszczą się w 5 znakach.
Kiedy Ascii85 ma znaczenie
Otwórz dowolny PDF w edytorze tekstu i wyszukaj ASCII85Decode. Adobe używa go jako filtra dla osadzonych obrazów i fontów, które muszą przetrwać transport 7-bitowy (stare systemy w stylu faksu). To samo kodowanie występuje w wielu plikach PostScript i w binarnych transportach bezpiecznych dla poczty e-mail.
Przypadki szczególne
- Całkowicie zerowy blok 4-bajtowy: Ascii85 koduje go jako pojedynczy znak
zzamiast!!!!!. - Ostatni blok częściowy: jest dopełniany bajtami zerowymi, a odpowiadająca liczba znaków wyjściowych jest obcinana na końcu.
Najczęściej zadawane pytania
Mniejsze wyjście, tak. Uniwersalna zgodność, nie. Ascii85 zawiera znaki takie jak <, >, &, ", które trzeba escapować w XML, JSON i URL-ach. Większość narzędzi natywnie mówi Base64.
W strumieniach PostScript i PDF, gdzie zakodowany region jest oznaczany delimiterami <~ i ~>. Przeglądarki i edytory PDF obsługują to kodowanie automatycznie.
Nie. Implementuje wyłącznie Adobe Ascii85. Z85 (ZeroMQ) i alfabet RFC 1924 dla IPv6 przypisują 85 znaków inaczej, więc ciąg zakodowany w tych wariantach zostałby tu zdekodowany nieprawidłowo.
Oznaczają zakodowany region zgodnie z konwencją Ascii85. Koder zawsze je dodaje, a dekoder usuwa automatycznie, jeśli są obecne. Możesz też wkleić ciąg bez nich.
Powiązane narzędzia
Koder szyfru A1Z26
Koduj tekst szyfrem A1Z26 (A=1, B=2, ... Z=26) albo dekoduj sekwencję liczb z powrotem na litery, z własnym separatorem.
Koder plików Base64
Koduj dowolny plik (PDF, ZIP, obraz, plik wykonywalny) do tekstu Base64 do osadzania w JSON, e-mailu, YAML albo data URI. Działa lokalnie, bez uploadu.
Koder szyfru Cezara
Szyfruj i odszyfrowuj tekst szyfrem Cezara. Dowolne przesunięcie 1-25, obsługa ROT13 jako przypadku specjalnego, zachowanie interpunkcji i wielkości liter.
Koder i dekoder Base58
Koduj tekst UTF-8 lub bajty szesnastkowe i bezpiecznie dekoduj Base58 z alfabetem Bitcoin, Ripple albo Flickr.
Koder szyfru Atbash
Koduj lub dekoduj tekst szyfrem Atbash, hebrajskim podstawieniem mapującym A-Z na Z-A. Ta sama operacja szyfruje i odszyfrowuje.
Szyfrowanie i odszyfrowywanie AES
Szyfruj i odszyfrowuj mało wrażliwy tekst z użyciem szyfrów AES OpenSSL. Hasło jest haszowane SHA-256, a wynik Base64 zawiera IV oraz szyfrogram.
Narzędzie jest dostępne w innych językach
- Codificador y Decodificador Base85 [ES]
- Codificador e Decodificador Base85 [PT]
- مشفر ومفكك Base85 [AR]
- Base85 encoder en decoder [NL]
- Encodeur et décodeur Base85 [FR]
- Base85 인코더 및 디코더 [KO]
- Base85 Kodlayıcı ve Çözücü [TR]
- Bộ mã hóa và giải mã Base85 [VI]
- Base85 Encoder and Decoder [EN]
- Base85エンコーダー・デコーダー [JA]
- Encoder dan Decoder Base85 [ID]
- ตัวเข้ารหัสและถอดรหัส Base85 [TH]
- Base85-kodare och avkodare [SV]
- Base85-Encoder/Decoder [DE]
- Base85 编码器和解码器 [ZH]
- Codificatore e Decodificatore Base85 [IT]
- Кодировщик и декодировщик Base85 [RU]