16进制转字符串

作者: 猫爪 | 来源:发表于2016-06-23 11:33 被阅读85次

    废话不多说,直接上代码

    void HexToString(char *dst,const unsigned char *src,int sLen)   // hex to ASCII
    {
        const char* hexDigits = "0123456789ABCDEF";
        int a,b,j = 0,k = 0;
        char c;
        for(k = 0; k < sLen; k++)
        {
            c = src[k];
            if((c & 0x80) > 0)      // c > 128
            {
                a = c & 0x0F;
                b = c & 0xF0;
                dst[j++] = hexDigits[(a+b)/16];
                dst[j++] = hexDigits[a%16];
            }
            else
            {
                dst[j++] = hexDigits[c/16];
                dst[j++] = hexDigits[c%16];
            }
        }
        dst[j] = '\0';
    }
    

    相关文章

      网友评论

        本文标题:16进制转字符串

        本文链接:https://www.haomeiwen.com/subject/eowndttx.html