> zeromq | sicuro per il codice | efficiente <

// Z85 – variante Base85 di ZeroMQ sicura per stringhe di codice e JSON

[SOURCE-SAFE]

Pensato per il codice sorgente

Non utilizza virgolette, backslash o spazi: ideale per stringhe C/C++, JSON e file di configurazione senza escaping extra.

[EFFICIENTE]

Alta densità

Circa il 25% di overhead, più efficiente di Base64 (~33%) nella rappresentazione testuale di dati binari.

[ZEROMQ]

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.

Altre lingue