python 分割bytes

我有很多bytes
比如:
b'4a\x03\x00\x00'
b'qw\x01\x00\x00'
b'zz\x02\x00\x00'
b'sf2\x03\x00\x00'
b'sd2\x05\x00\x00'
等等

这些bytes 前面是我想要的信息 后面都是诸如\x00 \x02 ....
我想要从它们从提取出 4a qw zz sf2 sd2 ...
我该怎么做呢?
我尝试过
b=b'4a\x03\x00\x00'
result=b.decode('iso-8859-1').split('\x03')[0]
这样可以分离出4a
但是有很多其他bytes,我该怎么做,才能让这样类似的bytes都分离出来

阅读 7.5k
2 个回答

应该是你需要的答案,你可以自己想办法优化下
import string
tmp_str = string.digits + string.lowercase

src_lst = [
b'4a\x03\x00\x00',
b'qw\x01\x00\x00',
b'zz\x02\x00\x00',
b'sf2\x03\x00\x00',
b'sd2\x05\x00\x00'
]

ret_lst = []
for tmp in src_lst:
tmp_lst = []
for tmp2 in str(tmp):
if str(tmp2) in tmp_str:
tmp_lst.append(tmp2)

ret_lst.append(tmp_lst)

print ret_lst

先str一下,再处理呢。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题