我想将两个ASCII字节转换为一个十六进制字节。
例如:
ASCII字节是介于
我知道如何使用数字
为此,我可以构建一个数组来将十六进制值分配给ASCII字符:
0x30 0x43 => 0x0C , 0x34 0x46 => 0x4F
...ASCII字节是介于
0x30
和0x39
之间的数字或介于A
和F
之间的字母(仅大写),因此介于0x41
和0x46
之间。我知道如何使用数字
0x34
和0x46
“构建”0x4F
: 0x4F = 0x34 * 0x10 + 0x46
因此,实际上,我想将一个ASCII字节转换为十六进制值。为此,我可以构建一个数组来将十六进制值分配给ASCII字符:
0x30 => 0x00
0x31 => 0x01
...
0x46 => 0x0F
但是,也许有一个最“适当”的解决方案。
该程序将在AVR微控制器上运行,并使用avr-gcc
编译,因此scanf()
/ printf()
解决方案不适用。
你有什么想法吗? 谢谢