牛骨文教育服务平台(让学习变的简单)
博文笔记

qt将16进制数据转换为字符串

创建时间:2014-09-10 投稿人: 浏览次数:2931
inline quint8 Char2Hex(char c)
{
    if ("0"<=c && c<="9") return c-"0";
    if ("a"<=c && c<="f") return c-"a"+10;
    if ("A"<=c && c<="F") return c-"A"+10;
    return -1;
}

bool Hex2Raw(quint8 *pData, const char *szMsg, int nMsgLen)
{
    int hi, lo;
    for (int i=0;i<nMsgLen/2;i++)
    {
        hi=Char2Hex(szMsg[i*2]);
        lo=Char2Hex(szMsg[i*2+1]);
        if (hi<0 || lo<0) return false;
        pData[i]=(hi<<4)+lo;
    }
    return true;
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。