您的位置:首页 > 编程语言 > C语言/C++

C语言中16进制字符串转为字节流的实现

2016-01-31 10:46 387 查看
void HexStrToByte(const char* source, unsigned char* dest, int length)
{
short i;
unsigned char highByte, lowByte;

for (i = 0; i < length; i += 2)
{
highByte = toupper(source[i]);
lowByte = toupper(source[i + 1]);

if (highByte > 0x39)
highByte -= 0x37;
else
highByte -= 0x30;

if (lowByte > 0x39)
lowByte -= 0x37;
else
lowByte -= 0x30;

// dest[i / 2] = (highByte << 4) | lowByte;
dest[(length-2-i)/2] = (highByte << 4) | lowByte;
}
return;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: