I have to add an image to a database, so I open the image as binary and it stores it this way:

b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x01\x00\x00\x00\x01\x01\x03\x00\x00\x00%\xdbV\xca\x00\x00\x00\x03PLTE\x00\x00\x00\xa7z=\xda\x00\x00\x00\x01tRNS\x00@\xe6\xd8f\x00\x00\x00\nIDAT\x08\xd7c`\x00\x00\x00\x02\x00\x01\xe2!\xbc3\x00\x00\x00\x00IEND\xaeB`\x82'

However I need it to be strored this way:

0x89504e470d0a1a0a0000000d494844520000000100000001010300000025db56ca00000003504c5445000000a77a3dda0000000174524e530040e6d8660000000a4944415408d76360000000020001e221bc330000000049454e44ae426082

It is my first ever time working with binary files so there is probably something basic I'm not understanding.

This is my code for opening the image in python:

with open("1x1.jpg", 'rb') as File:
    binaryData=File.read()
    print(binaryData)

This is the image: (1x1 empty pixel, I changed the extension from png to jpg, the original image is from https://upload.wikimedia.org/wikipedia/commons/c/ca/1x1.png) 1x1 empty pixel

推荐答案

binaryData is bytes and you need to convert it to the hex format.

binaryData.hex()

returns

'89504e470d0a1a0a0000000d494844520000000100000001010300000025db56ca00000003504c5445000000a77a3dda0000000174524e530040e6d8660000000a4944415408d76360000000020001e221bc330000000049454e44ae426082'

Python相关问答推荐

将邮箱标记为已读 python

打印另一个数据帧中包含的一个数据帧的字符串

计算 Pandas 数据框行内 Python 列表中元素的出现次数

Pandas 中的序数编码

GEKKO if3 变量在优化中给出了意想不到的结果

为什么我在抓取网站时找不到表格?

Python Pandas:如何在重复项中 Select 某个选项

使用DataFrame str.contains regex - 美元符号问题时Python字符串不匹配?

使用逻辑回归公式 y = x % 2 + 0 预测数字是奇数还是偶数

为什么用箱线图不能正确显示胡须?

如何使用包含连字符的键定义 TypedDict 类

一个关于 MLP 的问题——这条线是什么意思?

过滤组内的值集交集

如何将图像压缩到图像作为 tf.data.Dataset 中的目标

不可见的主要网格线隐藏可见的次要网格线

为什么解包非标识符字符串在函数调用中起作用?

如何将列表的平均值插入同一个列表?

如何获得 Flask/Pandas 列的平均平均值

在 Django 模板上为许多变量/字典使用“上下文”的最佳方式

如何在多列中查找特定数据?