【发布时间】:2013-12-04 13:09:31
【问题描述】:
大家好(这里是新手),
我在嵌入式系统上工作,我需要将十六进制数字转换为 ASCII 字符串。
请在回答之前阅读以了解我的要求。
例如十六进制数 = 0xFF ASCII = 0x32 0x35 0x35
ASCII 字节表示 hexNumber 的十进制值。即 0xFF 是 255,0xFE 将是 254,等等...
本质上,每个字节应生成 3 个字节,用于十六进制数的十进制表示。
该值不是使用键盘输入的,它是从智能卡获取的值。
【问题讨论】:
-
您可以将数字存储为 int,然后将每个数字输出为 char = digit + '0'。
-
所有值的结果应该是 3 个字节,即 0x3 应该给出“003”还是“3”?
-
'hexNumber = 0xFF ASCII = 0x32 0x35 0x35' 没有意义
-
@DieterLücking:这些是“255”的 ASCII 值。
-
将 hexNumber 存储在 int 中。将其作为十进制值打印到字符串(使用 sprintf 或 sstream)。循环遍历字符串中的字符(数字)并将它们打印为十六进制值?