python中base64模块是什么?

base64模块用于将二进制数据编码为ASCII字符串,便于在网络传输、URL等场景中安全传递;其核心函数b64encode和b64decode分别实现字节数据的编码与解码,典型应用包括将图片转为Base64嵌入HTML或CSS以减少请求。

base64模块是Python标准库中的一个工具,用于将二进制数据编码成ASCII字符串格式,也能将编码后的字符串还原回原始数据。它常用于在网络传输、URL、邮件或配置文件中安全地表示字节数据。

主要用途

由于某些系统只支持文本数据,无法正确处理任意字节流,base64提供了一种方式把图片、音频、加密数据等二进制内容转换为可打印的字符(A-Z, a-z, 0-9, +, /, =),避免传输出错。

常用函数说明

base64.b64encode(data)

接收字节类型的数据(bytes),返回Base64编码后的bytes结果。

例如:

import base64  
data = b"hello"  
encoded = base64.b64encode(data)  
print(encoded)  # 输出: b'aGVsbG8='

base64.b64decode(data)

将Base64编码的bytes或字符串还原为原始的bytes数据。

例如:

decoded = base64.b64decode(b'aGVsbG8=')  
print(decoded)  # 输出: b'hello'

典型应用场景

在Web开发中,常把小图标用Base64嵌入CSS或HTML中,减少请求次数。

比如:

img_data = open("icon.png", "rb").read()  
encoded = base64.b64encode(img_data).decode()  
print(f"data:image/png;base64,{encoded}")

生成的结果可以直接放在HTML的src属性里使用。

基本上就这些,不复杂但很实用。只要记住输入必须是bytes,输出也是bytes,需要显示时记得用.decode()转成字符串。