> zeromq | sicuro per il codice | efficiente <
// Z85 – variante Base85 di ZeroMQ sicura per stringhe di codice e JSON
Pensato per il codice sorgente
Non utilizza virgolette, backslash o spazi: ideale per stringhe C/C++, JSON e file di configurazione senza escaping extra.
Alta densità
Circa il 25% di overhead, più efficiente di Base64 (~33%) nella rappresentazione testuale di dati binari.
Standard ZeroMQ
Formato ufficiale usato da ZeroMQ per incapsulare dati binari all'interno di protocolli testuali.
>> dettagli tecnici
Come funziona Z85:
Z85 codifica blocchi di 4 byte in 5 caratteri usando 85 caratteri ASCII stampabili. L'alfabeto è stato progettato per evitare caratteri che richiedono escape in stringhe C/C++ o JSON, semplificando l'inclusione di dati binari in codice e configurazioni.
Esempio:
"Hello" → nm=QNz.92
Perché usare Z85:
- >Per incorporare dati binari direttamente nel codice sorgente o nei file di configurazione
- >Per ridurre la necessità di escape in JSON, YAML, XML e simili
- >Per avere una rappresentazione testuale più compatta rispetto a Base64
- >Per restare allineati allo standard di messaggistica ZeroMQ
- >Per standardizzare la codifica dei payload binari in API testuali
>> domande frequenti
Che cos'è la codifica Z85?
Z85 è la variante Base85 definita da ZeroMQ. Utilizza 85 caratteri ASCII stampabili scelti per essere sicuri all'interno di stringhe di codice sorgente senza necessità di escape.
In cosa differisce Z85 dagli altri Base85?
A differenza di altre varianti Base85, Z85 evita virgolette, backslash, spazi e altri caratteri che richiedono escaping nella maggior parte dei linguaggi di programmazione.
Quando conviene usare Z85?
Quando devi inserire dati binari in codice, configurazioni o protocolli di testo (in particolare con ZeroMQ) e vuoi minimizzare problemi di escape e leggibilità.
Quali sono le restrizioni di lunghezza di Z85?
La lunghezza dei dati binari deve essere un multiplo di 4 byte. L'encoder può aggiungere padding, ma il decoder si aspetta questa proprietà per ricostruire correttamente i dati originali.