Re: [boost] Interest in Base2/16/32/64 Encoding Library?
On Fri, Jul 6, 2012 at 9:13 PM, Thomas Kemmer
Dear Boost Developers,
I would like to know if there is interest in incorporating a generic Base2/16/32/64 encoding library into Boost.
I am the author of such a libray, hosted at
http://code.google.com/p/stlencoders/
and would be willing to contribute and make the effort of "Boostifying" it, if the Boost community is interested in such a thing.
There have been several suggestions for a Base64 encoding library on this mailing list in the past. Most of them have been dismissed, since Boost already provides a Base64 implementation with Boost.Serialization's "Dataflow Iterators". Though I appreciate the dataflow iterator's design, from personal experience I think that for the basic task of encoding/decoding, a higher-level interface, e.g. one that takes padding and intermittent whitespace (MIME) into account, would benefit many developers.
Currently, the stlencoders library
- implements the Base16, Base32 and Base64 encoding schemes as defined in RFC 4648. Base2, i.e. binary encoding, is also supported. - implements encoding and decoding operations as generic algorithms that operate on STL-style iterators - supports different encoding alphabets using custom traits classes - supports different character types - lets the user define if/which non-alphabet characters should be ignored via predicates - provides reasonable performance that matches most "plain C" implementations
stlencoders is currently designed as a stand-alone library with no dependencies on Boost (or anything but C++03); it would therefore take some effort and guidance from the community to properly integrate it with the rest of Boost. I would therefore appreciate any feedback regarding your interest in this.
Kind Regards,
Thomas
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
I know this was over a year ago, but I need to do some base64 encoding/decoding and wish Boost offered it at the outer level (as opposed to using internals of a library). Regards, Pete
participants (1)
-
PB