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

  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日

相关文章

  • pip install命令安装扩展库整理

    下面我来为您详细讲解“pip install命令安装扩展库整理”的完整攻略。 简介 Python是一款开源的高级编程语言,拥有强大的数据处理与科学计算能力。Python标准库中已包含了大量的模块和函数,但是在实际应用开发中,我们常常需要使用到第三方的扩展库进行功能扩展,而pip是Python的第三方包管理工具,通过使用pip,我们可以方便地获取、安装和升级扩…

    python 2023年5月14日
    00
  • Python设置默认编码为utf8的方法

    如果你使用Python 2.x版本,可以通过在脚本开头添加以下代码来设置默认编码为utf8: # -*- coding: utf-8 -*- 这条代码告诉Python解释器,脚本中的所有文本都应当按照utf8编码解析。在Python 3.x版本,utf8已经被默认设置为编码,你不需要再做这个设置了。 另外,你也可以在Python命令行环境下以交互方式设置编码…

    python 2023年5月13日
    00
  • 在Python中使用NumPy将一个赫米特数列与另一个数列相乘

    下面是在Python中使用NumPy将一个赫米特数列与另一个数列相乘的完整攻略。 准备环境 首先,你需要安装好NumPy库,可以使用以下命令进行安装: pip install numpy 安装完成后,你可以在Python脚本中引入NumPy: import numpy as np 什么是赫米特数列? 赫米特数列是一种具有特殊数学性质的序列,可以用于描述物理学…

    python-answer 2023年3月25日
    00
  • 基于Python实现的微信好友数据分析

    基于Python实现的微信好友数据分析攻略 准备工作 为了进行微信好友数据分析,我们需要完成以下准备工作: 安装Python编程环境和必要的Python包,如pandas, matplotlib等。 获取微信好友聊天记录数据文件,可以导出微信聊天记录到文件,通常以txt格式保存。 数据清洗 在进行数据分析前,我们需要对数据进行清洗,以消除数据上的噪声以及非数…

    python 2023年6月6日
    00
  • python爬虫分布式获取数据的实例方法

    我来为您详细讲解 “Python爬虫分布式获取数据的实例方法” 的完整攻略。 什么是Python爬虫分布式? Python爬虫分布式是指将一个爬虫程序在多台计算机上执行,可以大大提高爬虫的性能和效率。通常情况下,Python爬虫分布式使用的工具是Scrapy-Redis,它是Scrapy和Redis结合使用的分布式爬虫框架。 Python爬虫分布式获取数据的…

    python 2023年5月14日
    00
  • 用Python实现爬取百度热搜信息

    下面是用Python实现爬取百度热搜信息的完整攻略: 1. 确定爬取目标 首先,我们需要确定需要爬取的内容。在本例中,我们的爬取目标是百度热搜列表。 2. 获取页面源码 我们需要使用Python获取百度热搜页面的源码。这可以通过requests库来实现。具体代码如下: import requests url = ‘https://www.baidu.com/…

    python 2023年5月14日
    00
  • Python文件操作类操作实例详解

    Python文件操作类操作实例详解 Python的文件操作是常见的编程任务之一,它提供了对文件的读取、写入、修改、删除等操作的函数和类。在本篇攻略中,我们将详细讲解Python文件操作的相关类和方法,并提供两个实例说明。 打开文件 在Python中,可以使用open()函数来打开文件。open()函数的常用语法格式为: file = open(file_pa…

    python 2023年6月5日
    00
  • python基于win32api实现键盘输入

    Python基于win32api实现键盘输入的攻略如下: 安装pywin32库 在Python中使用win32api需要安装pywin32库。打开终端窗口输入以下命令进行安装: pip install pywin32 导入所需库 使用win32api需要导入三个库: import win32api import win32con import time wi…

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