进行日志记录时,经常遇到一些二进制数据需要保存,但是日志记录函数一般不支持二进制,可以考虑将二进制数据转换成16进制字符串保存。
std::string toHexString(unsigned char* input, const int datasize)
{
std::string output;
char ch[3];
for(int i = 0; i < datasize; ++i)
{
unsigned char chBit=(unsigned char)input[i];
snprintf(ch, 3, "%02x", chBit);
output += ch;
}
return output;
}