> zeromq | bezpieczny dla kodu | wydajny <

// Z85 – wariant Base85 zaprojektowany przez ZeroMQ, bezpieczny dla kodu źródłowego i JSON

[SOURCE-SAFE]

Przyjazny dla kodu źródłowego

Nie używa cudzysłowów, backslashy ani białych znaków, dzięki czemu jest bezpieczny dla łańcuchów C/C++, JSON oraz plików konfiguracyjnych bez dodatkowego escapowania.

[EFEKTYWNY]

Wysoka gęstość informacji

Koduje 4 bajty w 5 znaków, co przekłada się na ok. 25% narzutu – mniej niż ok. 33% w przypadku Base64.

[ZEROMQ]

Standard ZeroMQ

Oficjalny format kodowania używany w ZeroMQ do reprezentowania danych binarnych w protokołach tekstowych.

>> informacje techniczne

Jak działa Z85:

Z85 koduje bloki po 4 bajty w 5 znaków, używając 85 drukowalnych znaków ASCII. Alfabet został tak dobrany, aby nie zawierał znaków, które w łańcuchach C/C++ lub JSON wymagają escapowania, co upraszcza osadzanie danych binarnych w kodzie.

Przykład:

"Hello" → nm=QNz.92

Dlaczego warto używać Z85:

  • >Do osadzania danych binarnych bezpośrednio w kodzie źródłowym i plikach konfiguracyjnych
  • >Aby ograniczyć liczbę sekwencji escape w JSON, YAML, XML itp.
  • >Aby uzyskać bardziej zwartą reprezentację tekstową niż Base64
  • >Aby zachować spójność z ekosystemem ZeroMQ
  • >Aby ujednolicić sposób kodowania binarnych payloadów w tekstowych API

>> najczęstsze pytania

Czym jest kodowanie Z85?

Z85 to wariant Base85 zdefiniowany przez ZeroMQ. Wykorzystuje 85 drukowalnych znaków ASCII dobranych w taki sposób, aby łańcuchy można było bezpiecznie wstawiać do kodu źródłowego i JSON bez dodatkowych sekwencji escape.

Czym Z85 różni się od innych odmian Base85?

W przeciwieństwie do wielu implementacji Base85, Z85 unika cudzysłowów, backslashy, spacji i innych znaków, które w popularnych językach programowania zwykle wymagają escapowania.

Kiedy warto użyć Z85?

Gdy chcesz umieszczać dane binarne w kodzie, konfiguracji lub protokołach tekstowych (zwłaszcza tam, gdzie używasz ZeroMQ) i zależy Ci na minimalizacji problemów z escapowaniem oraz na czytelności.

Jakie ograniczenia długości obowiązują w Z85?

Długość danych binarnych musi być wielokrotnością 4 bajtów. Enkoder może dodać wypełnienie, ale dekoder zakłada spełnienie tego warunku, aby poprawnie odtworzyć oryginalny strumień bajtów.

Inne języki