我有一个奇怪的问题!我用蓝牙制作了一个客户端/服务器Python代码,以发送和接收字节帧(例如:[0x73, 0x87, 0x02 ....]
)
一切正常,发送接收效果很好!
问题是显示帧,我注意到显示了从0
到127
的字节,但是从128
开始,它显示了字节,但是添加了{{ 1}}(C2
)后面,例如:194
== [0x73, 0x7F, 0x87, 0x02, 0x80 ....]
在十六进制显示中,我会有[115, 127, 135, 2, 128 ....]
,我们会注意到他添加了一个字节{{1 }}无处不在!
我认为是因为它来自73 7F C2 87 2 C2 80 ..
!的原因是有符号(C2
至128
)/无符号(-128
至127
)
有人知道这个问题吗?
谢谢
答案 0 :(得分:0)
0xc2和0xc3是将U + 0080和U + 00FF之间的字符值编码为UTF-8时出现的字节值。传输端正在尝试发送文本而不是字节,中间是(正确)在发送之前将文本转换为UTF-8字节。解决方法是首先发送字节而不是文本。