siddiqsoft::Base64Utils API Reference¶
Defined in <siddiqsoft/base64-utils.hpp>
Base64Utils provides static methods for Base64 encoding, decoding, and RFC 4648 URL escaping.
Static Methods¶
encode¶
template <typename T = char>
requires std::same_as<T, char> || std::same_as<T, wchar_t>
static std::basic_string<T> encode(const std::basic_string<T>& argBin);
Base64 encodes the input binary string.
- Template Parameters:
T(charorwchar_t). - Parameters:
argBinraw bytes/string to encode. - Returns: Base64 encoded
std::basic_string<T>.
decode¶
template <typename T = char>
requires std::same_as<T, char> || std::same_as<T, wchar_t>
static std::basic_string<T> decode(const std::basic_string<T>& textuallyEncoded);
Base64 decodes a previously encoded string back to binary.
- Template Parameters:
T(charorwchar_t). - Parameters:
textuallyEncodedBase64 string. - Returns: Decoded binary
std::basic_string<T>. - Throws:
std::runtime_errorif decoding fails.
urlEscape¶
template <typename T = char>
requires std::same_as<T, char> || std::same_as<T, wchar_t>
static std::basic_string<T> urlEscape(const std::basic_string<T>& src);
Escapes a Base64 string per RFC 4648 Section 5 for URL safety:
- Replaces + with -
- Replaces / with _
- Strips \r, \n, and = padding characters.
- Parameters:
srcBase64 encoded string. - Returns: URL-safe Base64 string.