Python实现图像的二进制与base64互转

yizhihongxing
  1. 图像的二进制与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)
  1. 示例

以下是针对两个图像的示例,一个是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技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Python实现定时执行任务的三种方式简单示例

    让我来为您详细讲解“Python实现定时执行任务的三种方式简单示例”的完整攻略。 1. 背景介绍 在一些需要间隔时间执行任务的场景中,我们通常需要使用定时任务技术。Python是一门非常流行的编程语言,通过Python,我们可以很方便地实现定时任务。本文将介绍Python中三种常见的实现定时任务的方式,并在每种方式下给出一个简单的示例。 2. 定时任务三种方…

    python 2023年5月19日
    00
  • 如何在Python中使用PostgreSQL数据库?

    以下是在Python中使用PostgreSQL数据库的完整使用攻略。 使用PostgreSQL数据库的前提条件 在使用Python连接PostgreSQL数据库之前,确保已经安装了PostgreSQL数据库,并已经创建使用数据库和表同时,还需要安Python的驱动程序,例如psycopg2。 步骤1:导入模块 在Python中使用psycopg2模块连接Po…

    python 2023年5月12日
    00
  • Python实战整活之聊天机器人

    Python实战整活之聊天机器人攻略 1. 简介 本攻略旨在通过Python实现一个简单的聊天机器人。通过学习本攻略,您将了解到如何使用Python编写基础的聊天机器人代码。 2. 准备工作 在开始编写聊天机器人代码前,需要安装以下依赖包: python-dotenv 用于加载环境变量,方便管理敏感信息; nltk 自然语言处理库,可以对聊天内容进行分词和词…

    python 2023年5月23日
    00
  • python实现自主查询实时天气

    当我们想知道当前天气的时候,一般都会打开天气APP或者在搜索引擎中搜索实时天气,但是这样的耗费时间和体验并不好。为了更方便地获取实时天气信息,我们可以使用Python编写脚本,实现自主查询实时天气。 准备工作 首先我们需要准备一个API来获取天气信息。这里我们使用和风天气API,他提供了可扩展的接口,支持国内外城市的天气查询。需要提前在和风天气官网申请API…

    python 2023年6月3日
    00
  • python request要求接口参数必须是json数据的处理方式

    为了处理 python request 对接口参数必须是 json 数据的情况,需要采用以下具体步骤: 导入必要的库 在处理请求的时候需要导入 requests 库,json 库用于构建 json 数据 import requests import json 准备 json 数据 使用 Python 对象把请求的数据构建成字典形式,然后使用 json.dum…

    python 2023年6月3日
    00
  • Python找出列表中出现次数最多的元素三种方式

    作为网站作者,我来为大家详细介绍一下 Python 找出列表中出现次数最多的元素三种方式的攻略。 方法一:使用自定义函数 可以通过定义一个函数,来找出一个列表中出现次数最多的元素。具体步骤如下: 定义函数 find_most_common(arr),该函数接收一个列表参数 arr; 创建一个字典 dict,用于记录每个元素在列表中出现的次数; 遍历列表 ar…

    python 2023年6月3日
    00
  • Python中切片操作的示例详解

    Python中切片操作的示例详解 在Python中,切片操作是一种非常常用的操作,用于从序列中提取子序列。本文将详细介绍Python切片的语法和用法,并提供一些示例说明。 切片操作的语法 切片操作的语法如下: sequence[start:stop:step] 其中,sequence表示要进行切片操作的序列,start表示起始位置(包含),stop表示结束位…

    python 2023年5月13日
    00
  • 在Pycharm中安装Pandas库方法(简单易懂)

    下面是在Pycharm中安装Pandas库的完整攻略: 1. 打开Pycharm 首先,我们需要打开Pycharm,确保已经安装好了Pycharm软件。 2. 创建Python项目 打开Pycharm后,可以看到一个Welcome界面。点击“Create New Project”,创建一个新的Python项目。 在弹出的窗口中,选择“Python”,并选择合…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部