C / C ++ ASCII字符到HEX BYTE数组

时间:2016-03-28 15:23:09

标签: c++ c arrays byte

提前致谢

我想知道在C / C ++中我会如何实现以下目标:

ASCII字符数组: enter image description here

将其转换为BYTE数组: enter image description here

导致0x10数组而不是0x20。

干杯

1 个答案:

答案 0 :(得分:-1)

编码十六进制数字

#define HEX2BIN(D) ((('0' <= D) && (D <= '9')) ? D-'0' : (('a' <= D) && (D <= 'f')) ? D-'a'+10 : (('A' <= D) && (D <= 'F')) ? D-'A'+10 : -1)

并将其置于高位或低位

#define NIBBLE2BYTE(HI,BYTE,NIBBLE) do { if (HI) { BYTE = ((BYTE & 0xf0) | NIBBLE<<4); HI = 0; } else { BYTE = ((BYTE & 0x0f) | NIBBLE); HI=1; } } while (0)

。现在,您最初可以使用HI=1循环输入和输出。测试HEX2BIN(D) > 0以捕获输入错误!