#python #python-3.x
Вопрос:
Я думаю, что кодирование довольно простое, у меня есть сценарий здесь:
import base64
fr = open("test.exe", 'rb')
while True:
piece = fr.read(75232000)
if not piece:
break
fw = open('testoutput.txt', 'wb')
fw.write(base64.b64encode(piece))
fw.close()
fr.close()
И для расшифровки у меня есть это:
import base64
decoded_string = base64.b64decode("string")
with open("testoutput1.exe", "w") as exe:
exe.write(str(decoded_string))
Но результат декодированного файла не работает
Комментарии:
1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.
Ответ №1:
Прежде всего, при сохранении закодированной версии не открывайте файл «.txt» в двоичном режиме: это строковое представление.
Затем просто прочитайте закодированный файл
ft = open('testoutput.txt', 'r')
encoded = ft.read()
А затем напишите его в конечный пункт назначения
with open("testoutput1.exe", "wb") as exe:
exe.write(base64.b64decode(encoded))
Примечание: на этот раз вы должны открыть файл для записи в двоичном режиме ( "wb"
); и вы не хотите конвертировать содержимое в строку с str()
помощью .