Перевести строку с бинарным кодом в изображение
Новичок. Хотел сделать что бы в моей программе был список картинок в бинарном коде, что бы потом их восстанавливать и использовать. Нашел вот такой код:
from base64 import b64encode as enc64
from base64 import b64decode as dec64
from io import BytesIO
from PIL import Image
pict = "achiv\\achiv.jpg"
def binary_pic(pict):
with open(pict, "rb") as f:
binary = enc64(f.read())
print(binary)
return binary
def export(binary):
image = BytesIO(dec64(binary))
pillow = Image.open(image)
x = pillow.show()
export(binary_pic(pict))
Переводит изображение в бинарный формат и обратно.
А можно как то перевести в изображение имея строку где записан бинарный код?
К, примеру, после запуска binary_pic(pict) я получаю код картинки.
Как можно имея эту строку
pict = "бинарный код картинки"
перевести ее в картинку. Потому что насколько я понял значение должны быть, bytes
, а не str. Если вы знаете как это реализовать на данном примере или есть иной вариант как этого добиться, буду рад если вы поделитесь. Спасибо.
Ответы (1 шт):
Для перевода str в bytes следует просто сделать так:
bytes("ваш бинарный код", "ascii")
Если изображение формата png то могут вылетать ошибки связанные с декодированием (дело в том что в png формате могут использоваться символы отсутствующие в таблице ascii). В таком случае стоит писать так
bytes("ваш бинарный код", "raw_unicode_escape")
Надеюсь, что смог вам помочь!