> encode | decode | ascii85 <
// Base85 (ASCII85) koding for effektiv representasjon av binære data
Høy effektivitet
Mer effektivt enn Base64 (~25% mindre ved samme data).
Lokal prosessering
All konvertering skjer i nettleseren. Data forlater ikke enheten.
Adobe‑standard
Bruker ASCII85‑format med <~ ~> skilletegn; kompatibelt med PostScript.
>> teknisk info
Hvordan Base85 fungerer:
Base85 bruker 85 utskrivbare ASCII‑tegn for å kode binære data. 4 byte → 5 tegn, mer effektivt enn Base64.
Eksempel:
"Hello" → <~87cURD]i~>
Hvorfor bruke Base85:
- >Mer effektivt enn Base64 (~25% mindre)
- >Standard i PostScript/PDF
- >God kompresjonsgrad
- >Kun utskrivbare ASCII‑tegn
- >'z' snarvei for null‑bytes
>> ofte stilte spørsmål
Hva er Base85‑koding?
Base85 (ASCII85) er en binær‑til‑tekst koding som bruker 85 utskrivbare ASCII‑tegn og er mer effektiv enn Base64.
Hvorfor mer effektivt enn Base64?
Base85: 4 byte→5 tegn (80%) vs Base64: 3→4 (75%); omtrent 25% mer kompakt.
Hva betyr <~ ~> skilletegn?
De er en del av Adobe ASCII85‑standarden og markerer start/slutt på kodede data.
Hva betyr tegnet 'z'?
En snarvei som representerer fire påfølgende null‑bytes (\x00\x00\x00\x00).
// Hurtigreferanse
| Inndata | ASCII85 | Base64 |
|---|---|---|
| Man | 9jqo^ | TWFuIA== |
| sure. | F*2M7/c | c3VyZS4= |
| Hello | 87cURDZ | SGVsbG8= |
| \0\0\0\0 | z | AAAAAA== |
// Kodeeksempler
Adobe <~87cURDZ~> (PostScript / PDF, z = four zero bytes)
Python base64.a85encode(b'Hello') -> b'87cURDZ'
base64.b85encode(b'Hello') -> b'NM&qnZv' (RFC 1924 / Git alphabet)
Z85 ZeroMQ, safe to embed in source strings
Size 4 bytes -> 5 chars (Base64: 4 bytes -> 5.33 chars)
>> Flere spørsmål
S: Hva er forskjellen på ASCII85, Base85 og Z85?
S: Alle tre bruker samme matematikk (4 byte → 5 tegn), men ulike alfabeter: ASCII85 (Adobe, PDF/PostScript) bruker ! til u med <~ … ~> og z for fire nullbyte; Base85 (RFC 1924, Git) et annet alfabet; Z85 (ZeroMQ) et alfabet som er trygt å bygge inn i kildekode.
S: Hvor stor er Base85 sammenlignet med Base64?
S: 4 byte blir nøyaktig 5 tegn, mot omtrent 5,33 for Base64. Overheaden synker fra 33 % til 25 %, altså omtrent 25 % færre tegn for de samme dataene.
S: Er Base85 URL-sikker?
S: Nei. ASCII85 inneholder tegn som & , ; ' " < > som må escapes i URL-er, HTML eller skall. Bruk Base64url for URL-er og helst Z85 i kildekode.