UTILS.
100% in de browser
🔠

Ascii85 / Base85 coderen & decoderen

Codeer bytes naar Ascii85/Base85 en decodeer ze weer terug, met ondersteuning voor de standaard- en Adobe-variant (<~ ~>), volledig in je browser.

— uitvoer verschijnt hier —

Over deze tool

De Ascii85 / Base85-tool converteert binaire data van en naar Ascii85 (ook wel Base85 genoemd), een tekstcodering die vier bytes in vijf afdrukbare tekens pakt — ongeveer 25% compacter dan Base64. Het wordt gebruikt in PostScript- en PDF-streams (de Adobe-variant) en in patch/diff-formaten. Alles draait lokaal in je browser met TextEncoder/TextDecoder; niets wat je plakt wordt geüpload.

Coderen verwerkt de invoer als 4-byte big-endian groepen, leest elke groep als een 32-bit unsigned integer en geeft vijf cijfers uit door herhaaldelijk de waarde modulo 85 te nemen en er 33 bij op te tellen, zodat elk cijfer in het afdrukbare bereik '!' (33) tot 'u' (117) valt. Een groep van louter nullen klapt samen tot het enkele teken 'z'. Een laatste gedeeltelijke groep van n bytes (1–3) wordt met nullen aangevuld tot vier, gecodeerd, en de laatste 4−n uitvoertekens worden weggelaten, wat n+1 tekens oplevert. De Adobe-variant omhult het resultaat met '<~' en '~>'.

Decoderen keert het proces om: witruimte en eventuele omhulling worden verwijderd, 'z' wordt uitgevouwen tot vier nul-bytes, groepen van vijf tekens worden gelezen als waarde = Σ (cᵢ−33)·85^(4−i) en geschreven als vier big-endian bytes, en een laatste gedeeltelijke groep van m tekens (2–5) wordt aangevuld met 'u' (waarde 84) en behoudt m−1 bytes. Kies de richting, de standaard- of Adobe-variant, en of je invoerbytes UTF-8-tekst of hex zijn.

Veelgestelde vragen

Wat is de 'z'-snelkoppeling?
Een groep van vier nul-bytes (0x00000000) zou coderen als '!!!!!'. Ascii85 geeft in plaats daarvan het enkele teken 'z' uit als compressiesnelkoppeling. Bij het decoderen wordt 'z' weer uitgevouwen tot vier nul-bytes — maar alleen wanneer het op een groepsgrens staat, nooit midden in een groep van vijf tekens.
Hoe verschilt Ascii85 van Base64?
Base64 codeert 3 bytes als 4 tekens (33% overhead); Ascii85 codeert 4 bytes als 5 tekens (25% overhead), dus het is compacter. Base64 gebruikt een alfabet van 64 symbolen, terwijl Ascii85 85 afdrukbare ASCII-symbolen van '!' tot 'u' gebruikt.
Wat is de Adobe-variant?
Adobe's Ascii85, gebruikt in PostScript en PDF, omhult de payload tussen de scheidingstekens '<~' en '~>'. Het kernalgoritme is identiek. Het selecteren van de Adobe-variant voegt die markeringen toe bij het coderen en verwijdert ze bij het decoderen; de standaardvariant laat ze weg.
Wordt mijn data ergens geüpload?
Nee. Coderen en decoderen gebeuren volledig in je browser met gewoon JavaScript en TextEncoder/TextDecoder. Er wordt niets naar een server gestuurd, dus je kunt veilig privé- of binaire data verwerken.

Meer tools