使用python显示带符号的无符号字节时出现问题

时间:2018-07-09 09:26:46

标签: python-3.x bluetooth byte frames

我有一个奇怪的问题!我用蓝牙制作了一个客户端/服务器Python代码,以发送和接收字节帧(例如:[0x73, 0x87, 0x02 ....]

一切正常,发送接收效果很好!

问题是显示帧,我注意到显示了从0127的字节,但是从128开始,它显示了字节,但是添加了{{ 1}}(C2)后面,例如:194 == [0x73, 0x7F, 0x87, 0x02, 0x80 ....]在十六进制显示中,我会有[115, 127, 135, 2, 128 ....],我们会注意到他添加了一个字节{{1 }}无处不在!

我认为是因为它来自73 7F C2 87 2 C2 80 ..!的原因是有符号(C2128)/无符号(-128127

有人知道这个问题吗?

谢谢

1 个答案:

答案 0 :(得分:0)

0xc2和0xc3是将U + 0080和U + 00FF之间的字符值编码为UTF-8时出现的字节值。传输端正在尝试发送文本而不是字节,中间是(正确)在发送之前将文本转换为UTF-8字节。解决方法是首先发送字节而不是文本。