> zeromq | källkodssäker | effektiv <
// Z85 – ZeroMQ:s Base85-variant, säker att bädda in i källkod och JSON
Säker för källkod
Använder inga citattecken, backslash eller blanksteg; kan klistras direkt in i C/C++‑strängar, JSON och konfigurationsfiler utan extra escape-sekvenser.
Hög täthet
Kodning av 4 byte till 5 tecken ger cirka 25 % overhead, vilket är effektivare än Base64 (~33 %) vid textbaserad representation.
ZeroMQ-standard
Officiellt kodningsformat i ZeroMQ när binärdata bäddas in i textprotokoll.
>> teknisk info
Hur Z85 fungerar:
Z85 kodar block om 4 byte till 5 tecken med hjälp av 85 skrivbara ASCII-tecken. Alfabetet är utformat för att undvika tecken som kräver escape i C/C++‑strängar och JSON, vilket förenklar inbäddning av binärdata i kod och konfigurationer.
Exempel:
"Hello" → nm=QNz.92
Varför använda Z85:
- >För att bädda in binärdata direkt i källkod eller konfigurationsfiler
- >För att minimera behovet av escape‑sekvenser i JSON, YAML och XML
- >För att få en mer kompakt textrepresentation än Base64
- >För att ligga i linje med ZeroMQ:s rekommenderade kodningsformat
- >För att standardisera representationen av binära payloads i text‑API:er
>> vanliga frågor
Vad är Z85-kodning?
Z85 är ZeroMQ:s Base85‑kodningsvariant som använder 85 skrivbara ASCII‑tecken, utformad för att vara säker att använda direkt i källkod och JSON utan extra escapning.
Hur skiljer Z85 sig från andra Base85‑varianter?
Till skillnad från vissa Base85‑implementationer undviker Z85 citattecken, backslash, blanksteg och andra tecken som kräver escape i vanliga programmeringsspråk.
När bör jag använda Z85?
När du behöver lägga in binärdata i källkod, konfigurationsfiler eller textprotokoll (särskilt i ZeroMQ‑miljöer) och vill minimera problem med escapning och läsbarhet.
Vilka längdbegränsningar har Z85?
Längden på den ursprungliga binärdatan måste vara en multipel av 4 byte. Kodaren kan lägga till padding, men avkodaren förutsätter detta för att återskapa den ursprungliga bytestreamen korrekt.