NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
base64.hpp
浏览该文件的文档.
1#ifndef NEFORCE_CORE_ENCRYPT_BASE64_HPP__
2#define NEFORCE_CORE_ENCRYPT_BASE64_HPP__
3
12
15NEFORCE_BEGIN_NAMESPACE__
16
21
69
77struct NEFORCE_API base64 {
83 static string encode(cbyte_view data);
84
92
99 static string encode_url(cbyte_view data, bool padding = false);
100
108};
109
110
116NEFORCE_ALWAYS_INLINE_INLINE string base64_encode(const cbyte_view data) { return base64::encode(data); }
117
123NEFORCE_ALWAYS_INLINE_INLINE string base64_encode(const byte_vector& data) { return base64::encode(data.view()); }
124
130NEFORCE_ALWAYS_INLINE_INLINE string base64_encode(const string& data) {
131 return base64::encode(cbyte_view{reinterpret_cast<const byte_t*>(data.data()), data.size()});
132}
133
134
140NEFORCE_ALWAYS_INLINE_INLINE string base64_decode(const string_view data) {
142 return string{reinterpret_cast<const char*>(d.data()), d.size()};
143}
144
150NEFORCE_ALWAYS_INLINE_INLINE byte_vector base64_decode(const byte_vector& data) {
151 const string_view view{reinterpret_cast<const char*>(data.data()), data.size()};
152 return base64::decode(view);
153}
154
160NEFORCE_ALWAYS_INLINE_INLINE string base64_decode(const string& data) { return base64_decode(data.view()); }
161 // Base64
163 // Encryption
165
166NEFORCE_END_NAMESPACE__
167#endif // NEFORCE_CORE_ENCRYPT_BASE64_HPP__
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 size_type size() const noexcept
获取当前元素数量
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 pointer data() noexcept
获取底层数据指针
NEFORCE_ALWAYS_INLINE_INLINE string base64_decode(const string_view data)
Base64解码便捷函数(字符串视图版本)
NEFORCE_ALWAYS_INLINE_INLINE string base64_encode(const cbyte_view data)
Base64编码便捷函数(字节视图版本)
vector< byte_t > byte_vector
字节向量类型别名
unsigned char byte_t
字节类型,定义为无符号字符
memory_view< const byte_t > cbyte_view
常量字节视图类型别名
basic_string_view< char > string_view
字符字符串视图
NEFORCE_NODISCARD NEFORCE_ALWAYS_INLINE constexpr decltype(auto) data(Container &cont) noexcept(noexcept(cont.data()))
获取容器的底层数据指针
字符串类型别名和实用函数
Base64编解码结构体
static string encode_url(cbyte_view data, bool padding=false)
URL安全的Base64编码
static byte_vector decode(string_view data)
Base64解码
static string encode(cbyte_view data)
Base64编码
static byte_vector decode_url(string_view data)
URL安全的Base64解码
动态大小数组容器