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

问题描述 投票:0回答:1

我目前正在开发BlueTooth LE项目,bluepy模块要求我以字节形式发送数据......我想发送b'\ xFF'所以我写道:

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

返回:

b'\xc3\xbf'

进一步调查我发现实际上发生在127以上的所有uint-8数字。

在寻找解决方案的过程中,我发现了许多建议使用struct.unpack的Q&A,抱歉没有运气......

>>> 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

python struct byte
1个回答
1
投票

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

n = 255
bytes([n])

会做的。对方括号的逻辑感到困惑,但我们处于解决方案业务中,让我们把理论留给真正的专家。 :-)

© www.soinside.com 2019 - 2024. All rights reserved.