我目前正在开发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
对不起,我自己找到了解决问题的方法......
n = 255
bytes([n])
会做的。对方括号的逻辑感到困惑,但我们处于解决方案业务中,让我们把理论留给真正的专家。 :-)