[zeromq-dev] RFC 32 - Z85

Sebastian Lauwers sebastian.lauwers at gmail.com
Sat Jun 29 14:01:30 CEST 2013


Hi Pieter,

Any specific reason to create Z85 instead of going with Base64, which
doesn't present the escape characters drawback that Ascii85 has? I
understand that there's a few percent difference in terms of efficiency,
but, other than that?

Considering switching from Base256 to Z85 already represents a 66% loss in
terms of efficiency, supporting Base64 would only bring that up to 75%; how
would you feel about being able to support multiple (any?) BtoA encoding
formats?

Also, to be clear, the format would only be used as a means to represent
binary data in source files, and would not be sent over the wire, correct?
If that is indeed the case, then why is efficiency an issue (I'm assuming
that efficiency is the main point, as noted from the RFC)? As a
compiled-language developer, I don't care much about the size of my code
base, especially when dealing with static strings, maybe I'm missing
something in other languages.

I couldn't find the reference implementation in the rfc repository, the src
folder only seems to contain an implementation for rfc27.

Thanks,

-S.


On 28 June 2013 22:40, Pieter Hintjens <ph at imatix.com> wrote:

> Hi all,
>
> I've pushed a new RFC[1], which defines a format Z85 for encoding
> binary as text.
>
> The reason for making this is that it's painful to use Base256
> (binary) keys, since you can't exchange them by email or put them into
> code except with manual reformatting.
>
> Z85 uses a Base85 encoding taken from Ascii85[2] and fixed so that
> it's safe to use in code, config files, command lines, and web UIs.
> The assumption is that we'll be sending CurveZMQ public keys to each
> other a lot and using them in code.
>
> Here's what it looks like in code (from tests/test_security_curve.cpp):
>
>     char server_secret [] = "JTKVSB%%)wK0E.X)V>+}o?pNmC{O&4W4b!Ni{Lh6";
>     rc = zmq_setsockopt (server, ZMQ_CURVE_SECRETKEY, server_secret, 40);
>
> There's a reference implementation of Z85[3] which is also on a pull
> request for libzmq.
>
> Any critique or questions welcome of course, this is a draft.
>
> -Pieter
>
>
> [1] http://rfc.zeromq.org/spec:32
> [2] http://en.wikipedia.org/wiki/Ascii85
> [3] https://github.com/zeromq/rfc/tree/master/src
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130629/29edf5e2/attachment.htm>


More information about the zeromq-dev mailing list