Python 中 base64 编码与解码

2023-03-05 00:00:00 python 编码 解码

在 Python 中,可以使用 base64 模块来进行 base64 编码和解码。base64 编码是一种将二进制数据转换为 ASCII 字符串的编码方式,通常用于在网络传输中传递二进制数据。

base64 模块提供了两个函数 b64encode() 和 b64decode(),分别用于 base64 编码和解码。

下面是一些使用 base64 模块进行编码和解码的示例:

import base64

# 编码字符串
str = 'hello world'
str_bytes = str.encode('utf-8')    # 将字符串转换为字节串
str_base64 = base64.b64encode(str_bytes)   # 进行 base64 编码
print(str_base64)   # b'aGVsbG8gd29ybGQ='

# 解码字符串
str_bytes2 = base64.b64decode(str_base64)  # 进行 base64 解码
str2 = str_bytes2.decode('utf-8')   # 将字节串转换为字符串
print(str2)         # hello world

# 编码二进制数据
data = b'\x00\x11\x22\x33\x44\x55\x66\x77'
data_base64 = base64.b64encode(data)
print(data_base64)  # b'ABEiMzQzNDU2Njc3'

# 解码二进制数据
data2 = base64.b64decode(data_base64)
print(data2)        # b'\x00\x11"\x33DUfw'

需要注意的是,base64 编码和解码时要确保编码和解码的方式一致,例如编码时使用 utf-8 编码,解码时也要使用 utf-8 编码。此外,base64 编码通常会将原始数据扩大为 4/3 倍,因此在进行 base64 编码时需要注意数据大小。

相关文章