我有一个USB设备。它是一个计步器/活动跟踪器。 我能够向设备发送字节,并且我还能够检索字节。 但由于某种原因,数字变成了那些方形字符而不是数字......实际上字母的字符很好。 有关如何将字节检索为数字的任何想法吗?
预期的格式如下:
答案 0 :(得分:1)
方形字符实际上是二进制数据,可能是0x20之前的十六进制或高于0x7f。
前15个字节是二进制的,你需要使用类似下面的伪代码来解释它们:
if (isascii(byte)) {
textToAppendToEditBox(byte);
} else {
textToAppendToEditBox( someKindOfSprintF( "{%02x}");
}
有很多关于十六进制转储代码片段的googleable示例可以让它看起来很漂亮
答案 1 :(得分:0)
您展示的预期格式会发送二进制数据。您首先必须将收到的数据转换为内部信息,然后您可以将该信息传递给std::ostringstream
以将其显示在gui中。
在读取二进制数据时,请务必遵守使用的字节顺序。