jpeg в код - получил "qq\xe6/\xeb\x89\xb8\x1b\x11\xa4\x9e\xff", что это за кодировка?

у меня есть 123456.jpeg файл и я с ним сделал следующее:

with open('123456.jpg','rb') as fil:
    byte = fil.read()

print(byte)
with open('23.txt','w') as fil:
    fil.write(str(byte))

получил очень много вот такого шифра:

x93\xfc$J\xd4\x1aQ\xb1.\x05\x05\x06\x05y\xda;6\xb0\x01\xd0+\xf4\x89\x05X\xb9\xa0\xd9\xd5y \xf4\x8eY\x16\xa6\xd5\xfd.\xef|3\xf2?,\xfc_\xd5\x05\xf39\xbet\xcf\x7f\xfe\xf3\xdf\xff\x00\xbc\n2\xd8$}_\xd7m@H\x1eI=\xff\x00\xfb\xcc qq\xe6/\xeb\x89\xb8\x1b\x11\xa4\x9e\xff\x00\xfd\xe7\xbf\xff\x00y\xef\xff\x00\xde2R6\xabk\xfa\xech\x90a\xe4\x0cR\x8cU\xd5\xf5\x7f\\\x18ub\xf7\xce\x99\xef\xff\x00\xde{\xff\x00\xf7\x8a\xd0,\r\x1fW\xf5\xc8O\x14\xac\xdf\xa4\xf7\xff\x00\xef\x13l\xc3G\xa2\xfe\xbb~"@\xf5\'\xbf\xff\x00y\xef\xff\x00\xde\x12\x0e\xa4"y_\xeb\x88\x00\x00\x0

у меня 2 вопроса: - что это за кодировка ? (имею ввиду ...........\xf4\x8eY\x16\xa6\xd5\xfd.\xef|3\.................) - как конвертировать это \xf4\x8eY\x16\xa6\xd5\xfd.\xef|3\ обратно в .jpeg файл ?


Ответы (1 шт):

Автор решения: Krutos VIP

Байтовая кодировка.
Чтобы такую расшифровать, можно воспользоваться b"строка-в-байтовом-представлении".decode("utf-8") что вернёт строку в правильной кодировке - utf-8
Но там скорей всего будет что то не понятное. Ведь это обычные байты.
Чтобы превратить данные в .jpeg файл, просто запишем их в байтовой кодировке, ведь формально это он и есть, только в вот таком представлении:

with open('23.jpeg','wb') as fil:
    fil.write(byte)

Вот и всё, получаем нормальную картинку.

→ Ссылка