我在base64编码的数据库中有一些数据
我用
轻松解码它b64 = base64.b64decode(row[2])
然而,我现在需要在解码数据中搜索各种文本字符串并获得所述字符串的偏移量。解码数据是二进制的,即它包含许多非printables,NULL等。
我试过了
ofs = b64.find('content')
但收到错误TypeError: Type str doesn't support the buffer API
表明我显然正在咆哮错误的树
我是Python的新手,但出于各种原因想尝试使用它来获得解决方案 - 有什么想法吗?
答案 0 :(得分:4)
ofs = b64.find(b'content')
或稍微不那么硬编码的方式
search = 'content'
ofs = b64.find(bytes(search))
编号为bytes
的ofs
,您应该在其中查找相应的对象;)。
从文档中,bytes
作为函数使用时会返回一个新的bytes
对象:
bytes([source [,encoding [,errors]]])
返回一个新的“bytes”对象,它是一个不可变的整数序列,范围为0< = x< 256. bytes是bytearray的不可变版本 - 它具有相同的非变异方法和相同的索引和切片行为。