Python 发现b'\x00和x27;字节内对象字符串

Python 发现b'\x00和x27;字节内对象字符串,python,arrays,find,Python,Arrays,Find,我有一个字节字符串: b'#T\x005Q\x01\x00\x01_\x97\x013\xee\x1e\x00\x00\xcf\xd5\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00B1:0,B2:0,B3:0\x00\x1081\x00\xf7\xac' 当我运行以下代码时: data = b'#T\x005Q\x01\x00\x01_\x97\x013\xee\x1e\x00\x00\xcf\xd5\x00\x00\x00\x

我有一个字节字符串:

b'#T\x005Q\x01\x00\x01_\x97\x013\xee\x1e\x00\x00\xcf\xd5\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00B1:0,B2:0,B3:0\x00\x1081\x00\xf7\xac'
当我运行以下代码时:

data = b'#T\x005Q\x01\x00\x01_\x97\x013\xee\x1e\x00\x00\xcf\xd5\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00B1:0,B2:0,B3:0\x00\x1081\x00\xf7\xac'

selectable = data[32:data.find(b'\x00')]

print(selectable)
它应返回:

b'B1:0,B2:0,B3:0'
但相反,它返回:

b' '
有人能帮我找出原因吗?

试试使用

selectable = data[32:data.find(b'\x00',32)]
在“查找起始位置”中指定第二个参数

你可以在这里查阅

您是否正在尝试查找位置32之后的下一个
\x00
?因为第一个在位置2,所以您正在执行
data[32:2]
。(如果是,请查看
帮助(bytes.find)
!)