Итак, я работаю над проектом, в котором я разбираю изображение на строку, добавляю к указанной строке, затем декодирую обратно в изображение, но я обнаружил, что когда я кодирую его после запуска программы, все добавляется Код был оставлен без внимания. Это проблема программирования с моей стороны, или кодирование игнорирует данные, которые не требуются для изображения?
Давайте погрузимся глубже:
Во всем коде, который я наблюдаю, чтобы убедиться, что содержимое, входящее в финальный декодер, является тем, чем я хочу, и оно есть. Сделайте так, чтобы это сузило процесс декодирования, который должен на него повлиять. Когда новое изображение открывается снова, новый текст исчезает.
Есть ли способ это исправить?
import base64
import os
import random
with open("wow.png", "rb") as imageFile: #image to bytes
string = base64.b64encode(imageFile.read())
print(type(string))
print(string)
betterString = string.decode("utf-8") #bytes to string
print(type(betterString))
print(betterString)
betterString = betterString + "I Love you."
back2String = betterString.encode("utf-8") #String to bytes
print(type(back2String))
print(back2String)
fh = open("wow.png", "wb")
decstr=base64.b64decode(back2String)
fh.write(decstr)
fh.close()
Как уже было сказано, новое изображение должно иметь полное сохраненное содержимое, но на самом деле это только часть, которая была исходным импортированным файлом.