Resurgence (PY2022)
Codebase for the Husky Robotics 2021-2022 rover Resurgence
Loading...
Searching...
No Matches
base64.h
1#pragma once
2
3//
4// base64 encoding and decoding with C++.
5// Version: 2.rc.08 (release candidate)
6// Taken from:
7// https://renenyffenegger.ch/notes/development/Base64/Encoding-and-decoding-base-64-with-cpp/
8//
9
10#include <string>
11
12#if __cplusplus >= 201703L
13#include <string_view>
14#endif // __cplusplus >= 201703L
15
16namespace base64 {
17
25std::string base64_encode(std::string const& s, bool url = false);
26
35std::string base64_encode_pem(std::string const& s);
36
44std::string base64_encode_mime(std::string const& s);
45
53std::string base64_decode(std::string const& s, bool remove_linebreaks = false);
54
62std::string base64_encode(unsigned char const*, size_t len, bool url = false);
63
64#if __cplusplus >= 201703L
65//
66// Interface with std::string_view rather than const std::string&
67// Requires C++17
68// Provided by Yannic Bonenberger (https://github.com/Yannic)
69//
70
78std::string base64_encode(std::string_view s, bool url = false);
79
88std::string base64_encode_pem(std::string_view s);
89
97std::string base64_encode_mime(std::string_view s);
98
106std::string base64_decode(std::string_view s, bool remove_linebreaks = false);
107#endif // __cplusplus >= 201703L
108
109} // namespace base64
_GLIBCXX_END_NAMESPACE_CXX11 typedef basic_string< char > string