现在使用sqlalchemy读出来的blob数据被自动解码为16进制的string,已经不是原来的数据的了。
#导出BLOB类型数据
def data_BLOB():
doc_data = session.execute("select doc_data from document_data")
for row in list(doc_data):
print(row)
目前读取的是已被解码的base64的16进制,被解码后已经不是原来的数据了
读出来的其中一条:
(b'x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00 ... (303 characters truncated) ... 0x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00',)
想要得到:
原来数据库的blob数据
这不是16进制string,这是字节,这已经最原始的信息形态了。
你原来的内容是什么东西只有你自己知道,也只有你自己转换啊。