Base85 encoder en decoder
Base85 perst vier bytes in vijf ASCII-tekens — dichter dan Base64’s 3-voor-4-verhouding — door een alfabet van 85 tekens te gebruiken in plaats van 64. Adobe’s Ascii85-variant zit in elk PostScript- en PDF-bestand; de nieuwere Z85-variant (ZeroMQ) vermijdt tekens die C-strings en XML breken. Deze tool encodeert en decodeert beide, met optionele delimiters.
Base85 converteren
-
1
Kies de variant
Ascii85 voor PDF/PostScript-assets; Z85 voor broncode en netwerkprotocollen.
-
2
Plak tekst of upload een bestand
Encode-richting neemt ruwe bytes; decode-richting neemt een Base85-string.
-
3
De encoder deelt op in blokken van 4 bytes
Elk blok van 4 bytes wordt een Base85-string van 5 tekens. Het laatste blok wordt gepad en afgekapt.
-
4
Kopieer het resultaat
Ascii85 optioneel verpakt met `<~` en `~>` delimiters; Z85 zonder delimiters.
Vergelijking van grootte-overhead
| Codering | Tekens per 4 bytes | Overhead t.o.v. binair |
|---|---|---|
| Hex | 8 | +100% |
| Base64 | 5.33 (afgerond naar 8 met padding) | +37% |
| Base85 | 5 | +25% |
| Ruwe binair | 4 | 0 |
Dus 1 MB binair wordt 1.25 MB in Base85, 1.33 MB in Base64, 2 MB in hex.
Ascii85 versus Z85-alfabetten
Ascii85 (RFC 1924 / Adobe): tekens ! tot en met u (33-117 in ASCII), plus z als snelkoppeling voor 4 nulbytes. Gebruikt in PostScript- en PDF-streams, verpakt als <~...~>.
Z85 (ZeroMQ): een subset die aanhalingstekens en escapes vermijdt:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#
Veilig te embedden in JSON, XML, C-strings en broncode zonder escaping.
Hoe de wiskunde werkt
Elke 4 bytes worden gelezen als een big-endian 32-bit integer N. De 5 uitvoertekens zijn de cijfers van N in basis 85, meest significante eerst. 85^5 = 4 437 053 125, wat groter is dan 2^32, dus 4 bytes passen altijd in 5 tekens.
Wanneer Ascii85 ertoe doet
Open een willekeurige PDF in een teksteditor en zoek naar ASCII85Decode — Adobe gebruikt het als filter voor embedded afbeeldingen en fonts die een 7-bit transport moeten overleven (oude faxachtige systemen). Z85 wordt veel gebruikt in ZeroMQ CURVE-authenticatiesleutels.
Speciale gevallen
- Volledig nul 4-byte-blok — Ascii85 encodeert dit als het enkele teken
zin plaats van!!!!!. - Volledig spatie 4-byte-blok — Sommige varianten gebruiken
yvoor vier spaties, andere niet. - Laatste gedeeltelijke blok — Opgevuld met nulbytes, waarna het overeenkomstige aantal uitvoertekens aan het einde wordt afgekapt.
Veelgestelde vragen
Kleinere uitvoer, ja. Universeel compatibel, nee. Base85 bevat tekens zoals <, >, &, " (in Ascii85) die escaping nodig hebben in XML, JSON en URL’s. Z85 vermijdt dit, maar de meeste tooling spreekt native Base64.
Ascii85 als je met PostScript- of PDF-bestanden werkt. Z85 voor broncode, configbestanden en netwerkprotocollen. RFC 1924 IPv6-encoding is een andere toewijzing van dezelfde 85 tekens en wordt in de praktijk zelden gebruikt.
Nee. Ze gebruiken verschillende alfabetten. Ascii85 decoderen met een Z85-tabel levert rommel op. Kies er een voordat je encodeert en blijf daarbij.
Voor Adobe Ascii85 in PDF- of PostScript-streams wel — ze markeren de gecodeerde regio. Voor zelfstandig gebruik en alle Z85-uitvoer zijn geen delimiters nodig.
Gerelateerde tools
A1Z26-cijferencoder
Codeer tekst met het A1Z26-cijfer (A=1, B=2, ... Z=26) of decodeer een cijferreeks terug naar letters, met aanpasbaar scheidingsteken.
Atbash-codering
Codeer of decodeer tekst met het Atbash-cijfer, een Hebreeuwse substitutie die A-Z koppelt aan Z-A. Dezelfde bewerking versleutelt en ontsleutelt.
AES versleutelen / ontsleutelen
Versleutel en ontsleutel tekst met laag risico met AES-ciphers van OpenSSL. De passphrase wordt met SHA-256 gehasht en de Base64-uitvoer bevat IV plus versleutelde tekst.
bcrypt-generator
Genereer een bcrypt-hash van een plaintext wachtwoord. Instelbare costfactor van 4 tot 14, compatibel met Laravel, Django, Node en PHP.
bcrypt-hashgenerator
Genereer bcrypt-hashes of verifieer een plaintext wachtwoord tegen een bestaande bcrypt-hash. Genereren en verifiëren naast elkaar in een tool.
Base32 encoder en decoder
Encodeer en decodeer Base32-strings met het RFC 4648-alfabet. Handig voor TOTP-secrets, hoofdletterongevoelige tokens en door mensen getypte identifiers.