Base64 简介
是什么:将二进制数据编码为 64 个可打印字符(A-Z, a-z, 0-9, +, /)的文本格式。
为什么:解决二进制数据在文本协议(如邮件、JSON)中传输可能被破坏的问题。
特点:
- 数据体积增加约 33%
- 不是加密,只是编码
- 通用性强,几乎所有系统都支持
Python 示例
python
import base64
# 字符串编码解码
text = "Hello, World!"
encoded = base64.b64encode(text.encode('utf-8'))
decoded = base64.b64decode(encoded).decode('utf-8')
print(f"原文: {text}")
print(f"编码: {encoded}") # b'SGVsbG8sIFdvcmxkIQ=='
print(f"解码: {decoded}")
# 图片编码解码(用于网页显示)
with open("image.jpg", "rb") as image_file:
image_data = image_file.read()
image_b64 = base64.b64encode(image_data)
# Data URL 格式,可直接用在网页中
data_url = f"data:image/jpeg;base64,{image_b64.decode('utf-8')}"
常用函数:
b64encode()- Base64 编码b64decode()- Base64 解码urlsafe_b64encode()- URL 安全的 Base64 编码(用 -_ 替换 +/)
一句话总结
Base64 让二进制数据能安全地在文本环境中传输,代价是数据体积增加约 1/3。