Subject: [boost] Interest in Base2/16/32/64 Encoding Library?
From: Thomas Kemmer (tkemmer_at_[hidden])
Date: 2012-07-06 16:13:39
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
and would be willing to contribute and make the effort of
"Boostifying" it, if the Boost community is interested in such a
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.