- 图像的二进制与base64互转
在Python中,我们可以使用base64模块来进行二进制与base64之间的转换。具体实现过程如下:
将二进制转为base64编码:
import base64
# 二进制图片文件名
image_filename = 'example.png'
# 读取二进制文件数据
with open(image_filename, 'rb') as f:
binary_image_data = f.read()
# 将二进制数据转为base64编码
base64_image_data = base64.b64encode(binary_image_data)
将base64编码转为二进制:
import base64
# base64编码图片文件名
base64_image_filename = 'example_base64.txt'
# 读取base64编码文件数据
with open(base64_image_filename, 'r') as f:
base64_image_data = f.read()
# 将base64编码数据转为二进制数据
binary_image_data = base64.b64decode(base64_image_data)
- 示例
以下是针对两个图像的示例,一个是PNG格式的图片,一个是JPEG格式的图片,我们将图片转成二进制后再互相转换:
PNG格式的图片,转为二进制并将其转为base64编码:
import base64
# 二进制图片文件名
image_filename = 'example.png'
# 读取二进制文件数据
with open(image_filename, 'rb') as f:
binary_image_data = f.read()
# 将二进制数据转为base64编码
base64_image_data = base64.b64encode(binary_image_data)
# 打印base64编码数据,注意这里需要解码
print(base64_image_data.decode())
输出结果:
iVBORw0KGgoAAAANSUhEUgAAAAUA
AAAyCAIAAACd+XY+AAAACXBIWXMA
AAsTAAALEwEAmpwYAAAAB3RJTUUH
5wIKCQM7kUD/xAAACx0wUHIA8cB
...
将base64编码转为二进制,再将二进制分别写入新文件与原文件进行对比:
import base64
# base64编码图片文件名
base64_image_filename = 'example_base64.txt'
# 读取base64编码文件数据
with open(base64_image_filename, 'r') as f:
base64_image_data = f.read()
# 将base64编码数据转为二进制数据
binary_image_data = base64.b64decode(base64_image_data)
# 将二进制数据写入新文件
new_image_filename = 'new_example.png'
with open(new_image_filename, 'wb') as f:
f.write(binary_image_data)
# 将原二进制文件读取出来进行对比
with open('example.png', 'rb') as f:
original_binary_image_data = f.read()
# 对比两个二进制文件是否一致
print(original_binary_image_data == binary_image_data)
JPEG格式的图片同理,只需要将文件名替换为相应的文件即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现图像的二进制与base64互转 - Python技术站