Boost logo

Boost :

Subject: Re: [boost] Interest in Base2/16/32/64 Encoding Library?
From: Daniel Larimer (dlarimer_at_[hidden])
Date: 2012-07-07 15:41:17

On Jul 6, 2012, at 4:13 PM, Thomas Kemmer wrote:

> Dear Boost Developers,
> I would like to know if there is interest in incorporating a generic
> Base2/16/32/64 encoding library into Boost.

Yes, this could be useful for my RPC library which currently has to implement its own b64 conversion.

Should it be part of boost? I think that base 2, and hex encoding of arbitrary binary data has application in all kinds of
programs and I have needed such tools at every job I have ever worked. I have often hand-spun them because we didn't want to add YET ANOTHER DEPENDENCY.

So adding it to boost would be a good step.

I haven't looked at your library in detail, but the idea in principle is sound.

> 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
> 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.

Higher level interface is good.

> 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:

Boost list run by bdawes at, gregod at, cpdaniel at, john at