📜  base64 python decode - Python (1)

📅  最后修改于: 2023-12-03 15:13:36.469000             🧑  作者: Mango

Base64编码与解码

Base64编码是常用的将二进制数据转换成ASCII字符的方法,常用于邮件、HTTP请求等场景。在Python中,使用base64模块可以方便地进行Base64编码和解码。

Base64编码

Python中使用base64模块的b64encode()函数可以进行Base64编码,其参数为一个二进制数据,返回值为一个Base64编码后的新二进制数据。

import base64

data = b"hello world"
encoded_data = base64.b64encode(data)

print(encoded_data)  # b'aGVsbG8gd29ybGQ='
Base64解码

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编码和解码时,也可以使用base64模块中的b64encodeb64decode对象。这些对象支持链式调用,可以更方便地进行多次编码和解码操作。

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模块可以方便地进行数据转换。