class base{
std::string base64_encode(std::uint8_t const *data, std::size_t len) {
std::string dest;
dest.resize(boost::beast::detail::base64::encoded_size(len));
dest.resize(boost::beast::detail::base64::encode(&dest[0], data, len));
return dest;
}
std::string base64_encode(boost::string_view s) {
return base64_encode(reinterpret_cast <
std::uint8_t const *> (s.data()), s.size());
}
std::string base64_decode(boost::string_view data) {
std::string dest;
dest.resize(boost::beast::detail::base64::decoded_size(data.size()));
auto const result = boost::beast::detail::base64::decode(
&dest[0], data.data(), data.size());
dest.resize(result.first);
return dest;
}
};