Boost logo

Boost :

From: Marshall Clow (mclow.lists_at_[hidden])
Date: 2024-03-19 18:07:46


> On Mar 19, 2024, at 10:46 AM, Ruben Perez via Boost <boost_at_[hidden]> wrote:
>
> Hi all,
>
> I've been thinking of writing a base64 encoder/decoder library for
> some time. I first found the need when writing ServerTech chat
> (https://github.com/anarthal/servertech-chat), and I couldn't find a
> library that suited my needs. All the libraries I could find were
> either forgotten one-day projects with no tests, or private parts of
> something bigger.
>
> From this issue from Beast
> (https://github.com/boostorg/beast/issues/1710) it looks like this
> could be useful to people.
>
> My idea would be writing something that is:
> * Boost quality - extensive testing and fuzzing.
> * Configurable. My use case in ServerTech required me to not output
> padding chars, for instance.
> * Support for a streaming API.
> * Support for calling in a constexpr context.
> * I'd prefer to focus on doing base64 only and doing it well, rather
> than targeting arbitrary bases.
>
> I don't have any sample code yet. Following our recommendations, I'm
> only determining interest. My questions are:
> * Do you think a library like this could be useful to the C++ community?
> * If the answer to the above is yes, do you think it could belong to
> Boost, or would be better as a standalone library?

I wrote something like this back in the day:
        https://github.com/mclow/snippets/blob/master/Base64.hpp

If you look in that repo, you can find tests, and fuzzing tests.
No docs, though.

I’d be interested in hearing why (or why not) it fits your needs.

— Marshall


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk