Я пытаюсь прочитать jpg в python3, затем преобразовать в двоичную строку и затем записать обратно в jpg с этой двоичной строкой. (На самом деле, мотив состоит в том, чтобы поиграть / сжать двоичную строку, если это возможно) ... но когда я записываю ее обратно, размер jpg изменяется (уменьшается). Я не знаю, почему это должно измениться. Любые идеи?
Вот код:
import io
import sys
from PIL import Image
image = open("53.jpg", "rb")
imageBinaryBytes = image.read()
c = bin(int.from_bytes(imageBinaryBytes, byteorder=sys.byteorder))
d = int(c, 2).to_bytes((len(c)-2),byteorder=sys.byteorder )
imageStream = io.BytesIO(d)
imageFile = Image.open(imageStream)
imageFile.save("53-out.jpg")
Теперь 53.jpg был размером 53 КБ (52816), а 53-out.jpg оказывается 40 КБ (40061)
Спасибо