C++ 字节到ASCII转换为方形字符

C++ 字节到ASCII转换为方形字符,c++,usb,ascii,C++,Usb,Ascii,我有一个USB设备。这是一个计步器/活动跟踪器。 我可以向设备发送字节,也可以检索回字节。 但由于某些原因,数字被转换成了正方形而不是数字。。。实际上是字母的字符通过的很好。 有没有关于如何以数字形式检索字节的想法 预期的格式如下所示: 方形字符实际上是二进制数据,可能是0x20之前的十六进制或0x7f以上的十六进制 前15个字节是二进制的,您需要使用类似于以下伪代码的东西来解释它们: if (isascii(byte)) { textToAppendToEditBox(byte); }

我有一个USB设备。这是一个计步器/活动跟踪器。 我可以向设备发送字节,也可以检索回字节。 但由于某些原因,数字被转换成了正方形而不是数字。。。实际上是字母的字符通过的很好。 有没有关于如何以数字形式检索字节的想法

预期的格式如下所示:


方形字符实际上是二进制数据,可能是0x20之前的十六进制或0x7f以上的十六进制

前15个字节是二进制的,您需要使用类似于以下伪代码的东西来解释它们:

if (isascii(byte)) {
  textToAppendToEditBox(byte);
} else {
  textToAppendToEditBox( someKindOfSprintF( "{%02x}");
}

这里有大量的十六进制转储代码片段的googleable示例,可以让它看起来很漂亮

您显示的预期格式发送二进制数据。首先必须将接收到的数据转换为内部信息,然后可以将该信息传递到
std::ostringstream
以在gui中显示


在读取二进制数据时,请确保尊重使用的endianess。

您希望看到什么?不是每个数字都有一个漂亮的字符,只有一些。@deviantfan,如果他希望弹出一个数字和一个正方形?那么这个问题是不是有效?