📅  最后修改于: 2023-12-03 15:13:36.469000             🧑  作者: Mango
Base64编码是常用的将二进制数据转换成ASCII字符的方法,常用于邮件、HTTP请求等场景。在Python中,使用base64
模块可以方便地进行Base64编码和解码。
Python中使用base64
模块的b64encode()
函数可以进行Base64编码,其参数为一个二进制数据,返回值为一个Base64编码后的新二进制数据。
import base64
data = b"hello world"
encoded_data = base64.b64encode(data)
print(encoded_data) # b'aGVsbG8gd29ybGQ='
Python中使用base64
模块的b64decode()
函数可以进行Base64解码,其参数为一个Base64编码后的二进制数据,返回值为一个解码后的新二进制数据。
import base64
encoded_data = b'aGVsbG8gd29ybGQ='
decoded_data = base64.b64decode(encoded_data)
print(decoded_data) # b'hello world'
在进行Base64解码时,如果解码的数据不是Base64编码后的二进制数据,则会抛出binascii.Error
异常。
import base64
encoded_data = b'invalid base64 data'
decoded_data = base64.b64decode(encoded_data)
# 抛出异常:binascii.Error: Incorrect padding
在进行Base64编码和解码时,也可以使用base64
模块中的b64encode
和b64decode
对象。这些对象支持链式调用,可以更方便地进行多次编码和解码操作。
import base64
data = b"hello world"
# 编码两次
encoder = base64.b64encode().b64encode()
encoded_data = encoder(data)
# 解码一次
decoder = base64.b64decode()
decoded_data = decoder(encoded_data)
print(decoded_data) # b'hello world'
以上就是Python中进行Base64编码和解码的方法,通过base64
模块可以方便地进行数据转换。