Guitar
base64.h
Go to the documentation of this file.
1 
2 #ifndef BASE64_H_
3 #define BASE64_H_
4 
5 #include <vector>
6 #include <string>
7 
8 void base64_encode(char const *src, size_t length, std::vector<char> *out);
9 void base64_decode(char const *src, size_t length, std::vector<char> *out);
10 void base64_encode(std::vector<char> const *src, std::vector<char> *out);
11 void base64_decode(std::vector<char> const *src, std::vector<char> *out);
12 void base64_encode(char const *src, std::vector<char> *out);
13 void base64_decode(char const *src, std::vector<char> *out);
14 static inline std::string to_s_(std::vector<char> const *vec)
15 {
16  if (!vec || vec->empty()) return std::string();
17  return std::string((char const *)&(*vec)[0], vec->size());
18 }
19 static inline std::string base64_encode(std::string const &src)
20 {
21  std::vector<char> vec;
22  base64_encode((char const *)src.c_str(), src.size(), &vec);
23  return to_s_(&vec);
24 }
25 static inline std::string base64_decode(std::string const &src)
26 {
27  std::vector<char> vec;
28  base64_decode((char const *)src.c_str(), src.size(), &vec);
29  return to_s_(&vec);
30 }
31 
32 #endif
33 
base64_decode
void base64_decode(char const *src, size_t length, std::vector< char > *out)
Definition: base64.cpp:67
PAD
static unsigned const char PAD
Definition: base64.cpp:5
dec
static unsigned char dec(int c)
Definition: base64.cpp:30
base64_encode
void base64_encode(char const *src, size_t length, std::vector< char > *out)
Definition: base64.cpp:35
_encode_table
static const unsigned char _encode_table[]
Definition: base64.cpp:7
base64_encode
void base64_encode(char const *src, size_t length, std::vector< char > *out)
Definition: base64.cpp:35
base64_decode
void base64_decode(char const *src, size_t length, std::vector< char > *out)
Definition: base64.cpp:67
base64.h
enc
static unsigned char enc(int c)
Definition: base64.cpp:25
_decode_table
static const unsigned char _decode_table[]
Definition: base64.cpp:14
to_s_
static std::string to_s_(std::vector< char > const *vec)
Definition: base64.h:14