【发布时间】:2011-12-13 16:35:25
【问题描述】:
我想将二进制文件(例如 jpg、mp3 等)转换为网络安全文本,然后再转换回二进制数据。我研究了几个模块,我认为我真的很接近,但我不断收到数据损坏。
查看binascii 的文档后,我想到了这个:
from binascii import *
raw_bytes = open('test.jpg','rb').read()
text = b2a_qp(raw_bytes,quotetabs=True,header=False)
bytesback = a2b_qp(text,header=False)
f = open('converted.jpg','wb')
f.write(bytesback)
f.close()
当我尝试打开 converted.jpg 时,我得到数据损坏:-/
我还尝试将b2a_base64 与 57 长的二进制数据块一起使用。我将每个块转换为字符串,将它们连接在一起,然后再转换回a2b_base64 并再次损坏。
有人可以帮忙吗?我对字节和文件格式的所有复杂性并不是非常了解。如果这与 \r\n 的东西有区别,我会在 Windows 上使用 Python
【问题讨论】:
-
base64 似乎总是对我有用。也许先序列化/腌制数据?
-
你必须有一个定制的 bassackwards 版本的 Windows -- 标准问题有
\r\n的东西。 -
不要在问题中添加答案(我已将您的答案从问题 here 中移出)。要将问题标记为“已解决”,只需接受最好的答案,包括您自己的答案。
标签: python file binary ascii utf