string 和hex相互轉化

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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章