string與hex的相互轉換
string 轉 hex
調用 std::stoi函數(c++11)
std::string str = "abcd123";
unsigned char hex = std::stoi(str,0,16);
hex 轉 string
std::string HexArrayToString(const unsigned char* data,int len)
{
const std::string hexme = "0123456789ABCDEF";
std::string ret="";
for(int i =0;i<len;i++)
{
ret.push_back(hexme[(data[i]&0xF0)>>4]);
ret.push_back(hexme[data[i]&0x0F]);
ret.push_back(' ');
}
return ret;
}
或
std::string ToHexString(const unsigned char* pData,size_t nSize)
{
std::string str;
char szBuf[3] = "";
for(size_t i = 0;i<nSize;i++)
{
std::snprintf(szBuf,3,"%02x",*(pData+i));
str +=szBuf;
}
return str;
}