> zeromq | kildekodesikkert | effektivt <

// Z85 – ZeroMQs Base85-variant, trygg å bruke direkte i kildekode og JSON

[SOURCE-SAFE]

Trygg for kildekode

Unngår anførselstegn, backslash og blanktegn, slik at strenger kan brukes direkte i C/C++‑kode, JSON og konfigurasjonsfiler uten ekstra escape-sekvenser.

[EFFEKTIV]

Høy tetthet

Koder 4 byte til 5 tegn, noe som gir omtrent 25 % overhead – mer effektivt enn Base64 (~33 %) når binærdata skal representeres som tekst.

[ZEROMQ]

ZeroMQ-standard

Offisielt Base85‑format brukt av ZeroMQ for å frakte binærdata i tekstbaserte protokoller.

>> teknisk informasjon

Hvordan Z85 fungerer:

Z85 koder blokker på 4 byte til 5 tegn ved hjelp av 85 skrivbare ASCII‑tegn. Alfabetet er valgt slik at ingen av tegnene vanligvis trenger escape i C/C++‑strenger eller JSON, noe som forenkler innbaking av binærdata i kode og konfigurasjoner.

Eksempel:

"Hello" → nm=QNz.92

Hvorfor bruke Z85:

  • >For å bygge inn binærdata direkte i kildekode eller konfigurasjonsfiler
  • >For å redusere behovet for escape-sekvenser i JSON, YAML og XML
  • >For å få en mer kompakt tekstlig representasjon enn Base64
  • >For å bruke det anbefalte kodingsformatet for ZeroMQ‑baserte systemer
  • >For å standardisere presentasjonen av binære payloads i tekstbaserte API‑er

>> ofte stilte spørsmål

Hva er Z85-koding?

Z85 er en Base85‑kodingsvariant definert av ZeroMQ. Den bruker 85 skrivbare ASCII‑tegn som er valgt for å være trygge å bruke direkte i kildekode og JSON uten ekstra escaping.

Hvordan skiller Z85 seg fra andre Base85‑implementasjoner?

I motsetning til enkelte Base85‑varianter unngår Z85 tegn som anførselstegn, backslash og mellomrom, som ofte krever escape i de fleste programmeringsspråk.

Når bør jeg bruke Z85?

Når du trenger å plassere binærdata i kodesnutter, konfigurasjon eller tekstprotokoller (spesielt med ZeroMQ), og vil gjøre det uten å fylle koden med escape‑sekvenser.

Hvilke lengdebegrensninger har Z85?

Den opprinnelige binærstrengen må ha en lengde som er et multiplum av 4 byte. Enkoder kan legge til padding, mens dekoderen forutsetter dette for å gjenskape den opprinnelige bytestreamen.

Andre språk