/** ================================* eli960@qq.com* http://linuxmail.cn/* 2015年12月06日* ================================*/#include "zcc/zcc_stdlib.h"zcc_namespace_begin;void hex_encode(const void *src, int64_t src_size, std::string &str){unsigned char dec2hex[18] = "0123456789ABCDEF";unsigned char *src_c = (unsigned char *)src;int src_pos;int addch1, addch2;if (src_size < 0){src_size = (int)std::strlen((const char *)src);}for (src_pos = 0; src_pos < src_size; src_pos++){addch1 = dec2hex[src_c[src_pos] >> 4];addch2 = dec2hex[src_c[src_pos] & 0X0F];str.push_back((char)addch1);str.push_back((char)addch2);}}std::string hex_encode(const void *src, int64_t src_size){std::string str;hex_encode(src, src_size, str);return str;}void hex_decode(const void *src, int64_t src_size, std::string &str){unsigned char *src_c = (unsigned char *)src;int src_pos;unsigned char h_l, h_r;int addch;if (src_size < 0){src_size = (int)std::strlen((const char *)src);}for (src_pos = 0; src_pos + 1 < src_size; src_pos += 2){h_l = (unsigned char)(var_char_xdigitval_vector[src_c[src_pos]] << 4);h_r = (unsigned char)(var_char_xdigitval_vector[src_c[src_pos + 1]]);addch = (h_l | h_r);str.push_back((char)addch);}}std::string hex_decode(const void *src, int64_t src_size){std::string str;hex_decode(src, src_size, str);return str;}zcc_namespace_end;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型