Base85-kodare och avkodare
Base85 pressar fyra bytes till fem ASCII-tecken, tätare än Base64:s 3-till-4-förhållande, genom att använda ett alfabet med 85 tecken i stället för 64. Det här verktyget implementerar Adobes Ascii85-variant, den som finns i PostScript- och PDF-filer. Kodaren omsluter alltid utdatan med avgränsarna <~ och ~>; avkodaren tar emot indata med eller utan dem.
Så konverterar du Base85 (Ascii85)
-
1
Välj koda eller avkoda
Att koda omvandlar råa bytes till Ascii85; att avkoda omvandlar en Ascii85-sträng tillbaka till bytes.
-
2
Klistra in din text
Klistra in bytes att koda eller Ascii85-strängen att avkoda i inmatningsrutan.
-
3
Kodaren delar upp i 4-byte-block
Varje 4-byte-block blir en Base85-sträng med 5 tecken. Det sista blocket paddas och trunkeras.
-
4
Kopiera resultatet
Ascii85-utdata omsluts av `<~` och `~>`. Klistra in den igen för att avkoda; avgränsarna tas bort automatiskt.
Jämförelse av storleksoverhead
| Kodning | Tecken per 4 bytes | Overhead jämfört med binärt |
|---|---|---|
| Hex | 8 | +100% |
| Base64 | 5,33 (avrundas upp till 8 med padding) | +37% |
| Base85 | 5 | +25% |
| Rå binär | 4 | 0 |
Alltså blir 1 MB binärt 1,25 MB i Base85, 1,33 MB i Base64 och 2 MB i hex.
Ascii85-alfabetet
Ascii85 (Adobe): tecken ! till u (33-117 i ASCII), plus z som genväg för 4 nollbytes. Det är standardkodningen i PostScript- och PDF-strömmar, omsluten som <~...~>.
Z85 (ZeroMQ) och RFC 1924-alfabetet för IPv6 är andra tilldelningar av samma 85-teckensidé. Det här verktyget implementerar dem inte, så en sträng som kodats i dessa varianter avkodas felaktigt här.
Så fungerar matematiken
Varje 4 bytes läses som ett big-endian 32-bitars heltal N. De 5 utdatatecknen är siffrorna för N i bas 85, mest signifikant först. 85^5 = 4 437 053 125, vilket är större än 2^32, så 4 bytes får alltid plats i 5 tecken.
När Ascii85 spelar roll
Öppna vilken PDF som helst i en textredigerare och sök efter ASCII85Decode. Adobe använder det som ett filter för inbäddade bilder och typsnitt som måste överleva en 7-bitars transport (gamla faxliknande system). Samma kodning finns i många PostScript-filer och i binära transporter som är säkra för e-post.
Specialfall
- 4-byte-block med bara nollor: Ascii85 kodar det som det enda tecknet
zi stället för!!!!!. - Sista partiella blocket: paddas med nollbytes, och motsvarande antal utdatatecken trunkeras i slutet.
Vanliga frågor
Mindre utdata, ja. Universellt kompatibelt, nej. Ascii85 innehåller tecken som <, >, &, " som behöver escapes i XML, JSON och URL:er. De flesta verktyg talar Base64 inbyggt.
I PostScript- och PDF-strömmar, där den kodade regionen markeras med <~ och ~>. PDF-läsare och redigerare hanterar den här kodningen automatiskt.
Nej. Det implementerar bara Adobe Ascii85. Z85 (ZeroMQ) och RFC 1924-alfabetet för IPv6 tilldelar de 85 tecknen annorlunda, så en sträng kodad i dessa varianter avkodas felaktigt här.
De markerar den kodade regionen enligt Ascii85-konventionen. Kodaren lägger alltid till dem och avkodaren tar bort dem automatiskt om de finns. Du kan också klistra in en sträng utan dem.
Relaterade verktyg
Base64-filencoder
Koda valfri fil (PDF, ZIP, bild, körbar fil) till Base64-text för inbäddning i JSON, e-post, YAML eller data-URI:er. Körs lokalt, ingen uppladdning.
A1Z26-chifferkodare
Koda text med A1Z26-chiffret (A=1, B=2, ... Z=26) eller avkoda en siffersekvens tillbaka till bokstäver, med anpassningsbar separator.
Base58-kodare och avkodare
Koda UTF-8-text eller hexadecimala byte och avkoda Base58 säkert med alfabetet för Bitcoin, Ripple eller Flickr.
bcrypt-generator
Generera en bcrypt-hash från ett klartextlösenord. Justerbar kostnadsfaktor från 4 till 13, kompatibel med Laravel, Django, Node och PHP.
bcrypt-hashgenerator
Generera bcrypt-hashar eller verifiera ett klartextlösenord mot en befintlig bcrypt-hash. Generera och verifiera sida vid sida i ett verktyg.
AES kryptera / dekryptera
Kryptera och dekryptera text med låg risk med AES-chiffer från OpenSSL. Lösenfrasen hashas med SHA-256 och Base64-utdata innehåller IV plus chiffertext.
Verktyget finns på andra språk
- Koder i dekoder Base85 [PL]
- 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]
- Base85 Encoder and Decoder [EN]
- Bộ mã hóa và giải mã Base85 [VI]
- Encoder dan Decoder Base85 [ID]
- Base85エンコーダー・デコーダー [JA]
- ตัวเข้ารหัสและถอดรหัส Base85 [TH]
- Base85-Encoder/Decoder [DE]
- Base85 编码器和解码器 [ZH]
- Codificatore e Decodificatore Base85 [IT]
- Кодировщик и декодировщик Base85 [RU]