在二进制大对象中搜索字符串
我有一个从数据库加载的base64格式的数据块。我已经把它解码了,现在需要在里面搜索一个字符串。这个数据块可能包含一些二进制(不可打印的)字节。
到目前为止,我的代码很简单
for row in cursor:
b = base64.standard_b64decode(row[2])
所以我需要找到字符串'xyx'在b中的位置。
1 个回答
0
“二进制大对象”其实就是在Python中一个字符串的意思,所以你可以用 str.index
来找到它的位置:
i= b.index('xyx')
这里的i会变成字符串 'xyx'
在 b
中的位置,注意这个位置是从0开始算的。而且它是按字节来计算的,不是按字符。
如果你不想在 'xyx'不在b
的情况下抛出错误,你也可以用 str.find
。