首页 > 解决方案 > 在字节对象字符串中查找 b'\x00'

问题描述

我有这个字节字符串:

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

谁能帮我弄清楚为什么?

标签: pythonarraysfind

解决方案


尝试使用

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

在 find 中指定第二个参数,从您要开始的位置开始

你可以参考这里 Python Find 教程


推荐阅读