> zeromq | kildesikker | effektiv <
// Z85 – ZeroMQs Base85-variant, sikker at bruge direkte i kildekode og JSON
Sikker for kildekode
Undgår anførselstegn, backslash og mellemrum, så strenge kan indsættes direkte i C/C++‑kode, JSON og konfigurationsfiler uden ekstra escape.
Høj tæthed
4 byte bliver til 5 tegn, hvilket giver ca. 25 % overhead – mere effektivt end Base64 (~33 %) ved tekstlig repræsentation.
ZeroMQ-standard
Det officielle Base85-encodingformat, som ZeroMQ bruger til at transportere binære data i tekstprotokoller.
>> tekniske detaljer
Sådan fungerer Z85:
Z85 konverterer blokke af 4 byte til 5 tegn ved hjælp af 85 udskrivbare ASCII-tegn. Alfabetet er udvalgt, så ingen tegn kræver escape i C/C++‑strenge eller JSON, hvilket gør det nemmere at embedde binære data i kode og konfigurationer.
Eksempel:
"Hello" → nm=QNz.92
Hvorfor bruge Z85:
- >Til at embedde binære data direkte i kildekode eller konfigurationsfiler
- >For at minimere behovet for escape‑sekvenser i JSON, YAML og XML
- >For at få en mere kompakt tekstlig repræsentation end Base64
- >For at følge ZeroMQs anbefalede encoding for binære payloads
- >For at standardisere formatet for binære data i tekst‑API’er
>> ofte stillede spørgsmål
Hvad er Z85-kodning?
Z85 er en Base85-variant defineret af ZeroMQ, som bruger 85 udskrivbare ASCII‑tegn, valgt så strenge kan bruges direkte i kildekode og JSON uden ekstra escape.
Hvordan adskiller Z85 sig fra andre Base85-varianter?
I modsætning til nogle andre Base85‑implementationer undgår Z85 anførselstegn, backslash, mellemrum og andre tegn, der typisk kræver escape i de fleste programmeringssprog.
Hvornår bør jeg bruge Z85?
Når du vil embedde binære data i kode, konfigurationer eller tekstprotokoller (især i ZeroMQ‑miljøer) og samtidig vil minimere problemer med escapning og læsbarhed.
Hvilke længdebegrænsninger gælder for Z85?
Den oprindelige binære længde skal være et multiplum af 4 byte. Enkodsiden kan tilføje padding, men dekoderen forudsætter denne egenskab for at kunne gendanne de originale data.