美文网首页
十六进制字符串转换成字节流方法

十六进制字符串转换成字节流方法

作者: yehkong | 来源:发表于2017-10-22 21:21 被阅读0次
    /**
     十六进制字符串转字节流
     @param hexString 待转换的十六进制字符串
     @param byteString 保存转换后的字节流
     */
    void hexStrToByte(const char *hexString,unsigned char *byteString)
    {
        int hexStrLen = strlen(hexString);
        unsigned char highByte, lowByte;
        
        for (int i = 0; i < hexStrLen; i += 2)
        {
            //转换成大写字母
            highByte = toupper(hexString[i]);
            lowByte  = toupper(hexString[i + 1]);
            //转换编码
            if (highByte > 0x39) {
                highByte -= 0x37;
            }else{
                highByte -= 0x30;
            }
            if (lowByte > 0x39) {
                lowByte -= 0x37;
            }else{
                lowByte -= 0x30;
            }
            //高4位和低4位合并成一个字节
            byteString[i / 2] = (highByte << 4) | lowByte;
        }
        return;
    }
    

    相关文章

      网友评论

          本文标题:十六进制字符串转换成字节流方法

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