Boost C++ Libraries: Ticket #4890: URL compatible base64 encoding/decoding (RFC 3548) https://svn.boost.org/trac10/ticket/4890 <p> We use the boost archive library for serialization of binary data which will be part of an URL. We encode the binary stream using the iterators transform_width and base64_from_binary. Since the base64_from_binary iterator uses symbols which must not be used in URLs we’ve derived a base64URL_from_binary iterator (and its counterpart), which follows RFC 3548 chapter 4. The code is a copy of the original base64_from_binary.hpp and binary_from_base64.hpp which is modified to use the symbols '-' and '_' instead of '+' and '/' for the values 62 and 63. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4890 Trac 1.4.3 markus.stier@… Wed, 24 Nov 2010 09:04:35 GMT attachment set https://svn.boost.org/trac10/ticket/4890 https://svn.boost.org/trac10/ticket/4890 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">iterators.zi_</span> </li> </ul> <p> zip containing base64URL iterators </p> Ticket Robert Ramey Thu, 25 Nov 2010 17:20:37 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/4890#comment:1 https://svn.boost.org/trac10/ticket/4890#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">wontfix</span> </li> </ul> <p> I had a brief look at this and I don't think it's something that belongs in the serialization library. It's application seems just too narrow. </p> <p> I also would have some other reservations: </p> <p> As submitted it applies this "tweak" to the whole file rather than just the url's. So it's something that would be better implemented as a special data type. e.g.: </p> <pre class="wiki">struct url { template&lt;class Archive&gt; void serialize(Archive &amp;ar, const unsigned int version){ ... } }; </pre><p> Robert Ramey </p> Ticket