首页 > 解决方案 > 无法使用 python 显示有符号的无符号字节

问题描述

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

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

问题是我的帧的显示,我注意到从0to的字节127被显示,但是 from 128,它显示字节但它在后面添加一个C2194),例如:[0x73, 0x7F, 0x87, 0x02, 0x80 ....]== [115, 127, 135, 2, 128 ....]in hex display I would have 73 7F C2 87 2 C2 80 ..,我们会注意到他不知C2从哪里添加了一个字节!

我想,既然是从128!这是由于有符号(-128127)/无符号(0255)的问题。

有人对这个问题有任何迹象吗?

谢谢

标签: python-3.xbluetoothbyteframes

解决方案


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


推荐阅读