bytes('\ xFF','utf-8')返回

时间:2019-03-06 09:00:17

标签: python struct byte

我目前正在研究蓝牙LE项目,bluepy模块要求我以字节为单位发送数据... 我想发送b'\ xFF',所以写:

bytes('\xff', 'utf-8')

返回:

b'\xc3\xbf'

进一步研究发现,所有127以上的uint-8数字实际上都发生了。

在寻找解决方案时,我发现了很多建议使用struct.unpack的问答,对不起,没有运气...

>>> type(struct.unpack('B', b'\xff')[0])
<class 'int'>

struct.unpack返回多个int类。 现在我发现:

b'\xFF'

实际上产生的字节全为一个。。。但是,我仍然希望对我解释bytes()和struct.unpack()的这种行为。 (Raspberry Pi 3上的Python 3.5.3)

非常感谢

KK

1 个答案:

答案 0 :(得分:1)

对不起,我自己找到了解决问题的方法...

n = 255
bytes([n])

可以解决问题。对于方括号的逻辑有些疑惑,但是我们从事解决方案业务,让我们将理论留给真正的专家。 :-)