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 <[email protected]> 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 > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev >
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
