簡體   English   中英

在Python中搜索base64解碼的二進制數據以查找文本

[英]searching base64 decoded binary data for text in Python

我在base64編碼的數據庫中有一些數據

我用它很容易解碼

b64 = base64.b64decode(row[2])

但是,我現在需要在解碼后的數據中搜索各種文本字符串,並獲取所述字符串的偏移量。 解碼后的數據是二進制的,即它包含許多不可打印的內容,NULL等。

我努力了

ofs = b64.find('content')

但收到錯誤TypeError: Type str doesn't support the buffer API

這說明我顯然在吠錯樹

我是Python的新手,但由於各種原因,我想嘗試使用它來尋求解決方案-請問任何想法?

搜索bytes對象而不是str

ofs = b64.find(b'content')

或少一些硬編碼的方式

search = 'content'
ofs = b64.find(bytes(search))

ofs中被編碼為bytes ,你應該尋找內部具有相應的對象)。



從文檔中, bytes用作功能時)返回一個新的bytes對象:

字節([源[,編碼[,錯誤]]])

返回一個新的“字節”對象,該對象是不可變的整數序列,范圍為0 <= x <256。bytes是字節數組的不可變版本–它具有相同的不可變方法以及相同的索引和切片行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM