我必须将图像添加到数据库中,因此我以二进制格式打开图像,并以以下方式存储该图像:

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'

不过,我需要把它写成这样:

0x89504e470d0a1a0a0000000d494844520000000100000001010300000025db56ca00000003504c5445000000a77a3dda0000000174524e530040e6d8660000000a4944415408d76360000000020001e221bc330000000049454e44ae426082

这是我第一次使用二进制文件,所以可能有一些基本的东西我不理解.

以下是我在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是字节,您需要将其转换为十六进制格式.

binaryData.hex()

退货

'89504e470d0a1a0a0000000d494844520000000100000001010300000025db56ca00000003504c5445000000a77a3dda0000000174524e530040e6d8660000000a4944415408d76360000000020001e221bc330000000049454e44ae426082'

Python相关问答推荐

具有2D功能的Python十六进制图

将行从一个DF添加到另一个DF

是pandas.DataFrame使用方法查询后仍然排序吗?

有什么方法可以避免使用许多if陈述

通过交换 node 对链接列表进行 Select 排序

跟踪我已从数组中 Select 的样本的最有效方法

如何从FDaGrid实例中删除某些函数?

优化在numpy数组中非零值周围创建缓冲区的函数的性能

如何才能知道Python中2列表中的巧合.顺序很重要,但当1个失败时,其余的不应该失败或是0巧合

如何使用Python将工作表从一个Excel工作簿复制粘贴到另一个工作簿?

如何在Python中并行化以下搜索?

如何请求使用Python将文件下载到带有登录名的门户网站?

如何获取numpy数组的特定索引值?

如何将多进程池声明为变量并将其导入到另一个Python文件

Python导入某些库时非法指令(核心转储)(beautifulsoup4."" yfinance)

与命令行相比,相同的Python代码在Companyter Notebook中运行速度慢20倍

GPT python SDK引入了大量开销/错误超时

计算机找不到已安装的库'

使用np.fft.fft2和cv2.dft重现相位谱.为什么结果并不相似呢?

如何在Django模板中显示串行化器错误