LIB-ZC, 一个跨平台(Linux)平台通用C/C++扩展库, 编解码

LIB-ZC, 一个跨平台(Linux)平台通用C/C++扩展库, 编解码

  • 支持 base64, qp, ncr, hex, url
  • 命名空间 zcc

base64

void base64_encode(const void *src, int src_size, std::string &str, bool mime_flag = false);
inline void base64_encode(const std::string &src, std::string &str, bool mime_flag = false);
std::string base64_encode(const void *src, int src_size, bool mime_flag = false);
inline std::string base64_encode(const std::string &src, bool mime_flag = false);
//
void base64_decode(const void *src, int src_size, std::string &str);
inline void base64_decode(const std::string &src, std::string &str);
std::string base64_decode(const void *src, int src_size);
{
    return http_token_decode(src.c_str(), src.size());
}
inline std::string base64_decode(const std::string &src)
int base64_decode_get_valid_len(const void *src, int src_size);
int base64_encode_get_min_len(int in_len, bool mime_flag = false);

QP, quoted-printable

void qp_encode_2045(const void *src, int src_size, std::string &result, bool mime_flag = false);
inline void qp_encode_2045(const std::string &src, std::string &result, bool mime_flag = false);
std::string qp_encode_2045(const void *src, int src_size, bool mime_flag = false);
inline std::string qp_encode_2045(const std::string &src, bool mime_flag = false);
void qp_decode_2045(const void *src, int src_size, std::string &str);
inline void qp_decode_2045(const std::string &src, std::string &str);
std::string qp_decode_2045(const void *src, int src_size);
inline std::string qp_decode_2045(const std::string &src);
//
void qp_encode_2047(const void *src, int src_size, std::string &result);
inline void qp_encode_2047(const std::string &src, std::string &result);
std::string qp_encode_2047(const void *src, int src_size);
inline std::string qp_encode_2047(const std::string &src);
void qp_decode_2047(const void *src, int src_size, std::string &str);
inline void qp_decode_2047(const std::string &src, std::string &str);
std::string qp_decode_2047(const void *src, int src_size);
inline std::string qp_decode_2047(const std::string &src);
int qp_decode_get_valid_len(const void *src, int src_size);

hex

void hex_encode(const void *src, int src_size, std::string &str);
inline void hex_encode(const std::string &src, std::string &str);
std::string hex_encode(const void *src, int src_size);
inline std::string hex_encode(const std::string &src);
void hex_decode(const void *src, int src_size, std::string &str);
inline void hex_decode(const std::string &src, std::string &str);
std::string hex_decode(const void *src, int src_size);
inline std::string hex_decode(const std::string &src);

xml

void xml_unescape_string(const char *data, int len, std::string &content);
inline void xml_unescape_string(std::string &content, const char *data, int len);
std::string xml_unescape_string(const char *data, int len);

ncr

int ncr_decode(int ins, char *wchar);

http url query

// token
void http_token_encode(const void *src, int src_size, std::string &result, bool strict_flag = false);
inline void http_token_encode(const void *src, std::string &result, bool strict_flag = false);_token_encode(src, -1, result, strict_flag);
inline void http_token_encode(const std::string &src, std::string &result, bool strict_flag = false);
std::string http_token_encode(const void *src, int src_size, bool strict_flag = false);
inline std::string http_token_encode(const void *src, bool strict_flag = false);
inline std::string http_token_encode(const std::string &src, bool strict_flag = false);
void http_token_decode(const void *src, int src_size, std::string &result);
inline void http_token_decode(const void *src, std::string &result);
inline void http_token_decode(const std::string &src, std::string &result);
std::string http_token_decode(const void *src, int src_size = -1);
inline std::string http_token_decode(const std::string &src);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值