Я хочу преобразовать двоичный файл (такой как 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
и снова получил повреждение.
Кто-нибудь может помочь? Я не очень разбираюсь во всех тонкостях байтов и форматов файлов. Я использую Python на Windows, если это имеет значение с \r\n
stuff