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