Python使用标准库中的 base64 模块进行 Base64 编码和解码

1. Base64 编码

base64.b64encode() 函数用于将二进制数据进行 Base64 编码。它接受一个字节对象作为输入,并返回一个经过 Base64 编码后的字节对象。

示例代码

import base64

# 定义要编码的字符串
original_string = "Hello, World!"
# 将字符串转换为字节对象
original_bytes = original_string.encode('utf-8')
# 进行 Base64 编码
encoded_bytes = base64.b64encode(original_bytes)
# 将编码后的字节对象转换为字符串
encoded_string = encoded_bytes.decode('utf-8')

print(f"原始字符串: {original_string}")
print(f"Base64 编码后的字符串: {encoded_string}")

代码解释

  • 首先,定义了一个字符串 original_string
  • 使用 encode('utf-8') 方法将字符串转换为字节对象,因为 base64.b64encode() 函数需要字节对象作为输入。
  • 调用 base64.b64encode() 函数对字节对象进行编码,得到编码后的字节对象 encoded_bytes
  • 最后,使用 decode('utf-8') 方法将编码后的字节对象转换为字符串。

2. Base64 解码

base64.b64decode() 函数用于将 Base64 编码的字节对象进行解码。它接受一个经过 Base64 编码的字节对象或字符串作为输入,并返回解码后的字节对象。

示例代码

import base64

# 定义要解码的 Base64 编码字符串
encoded_string = "SGVsbG8sIFdvcmxkIQ=="
# 将字符串转换为字节对象
encoded_bytes = encoded_string.encode('utf-8')
# 进行 Base64 解码
decoded_bytes = base64.b64decode(encoded_bytes)
# 将解码后的字节对象转换为字符串
decoded_string = decoded_bytes.decode('utf-8')

print(f"Base64 编码的字符串: {encoded_string}")
print(f"解码后的字符串: {decoded_string}")

代码解释

  • 首先,定义了一个 Base64 编码的字符串 encoded_string
  • 使用 encode('utf-8') 方法将字符串转换为字节对象,因为 base64.b64decode() 函数可以接受字节对象作为输入。
  • 调用 base64.b64decode() 函数对编码后的字节对象进行解码,得到解码后的字节对象 decoded_bytes
  • 最后,使用 decode('utf-8') 方法将解码后的字节对象转换为字符串。

3. 处理 URL 安全的 Base64 编码

在某些场景下,需要使用 URL 安全的 Base64 编码,即使用 - 和 _ 分别替换 + 和 /,并且去掉填充字符 =。可以使用 base64.urlsafe_b64encode() 和 base64.urlsafe_b64decode() 函数来实现。

示例代码

import base64

# 定义要编码的字符串
original_string = "Hello, World!"
# 将字符串转换为字节对象
original_bytes = original_string.encode('utf-8')
# 进行 URL 安全的 Base64 编码
encoded_bytes = base64.urlsafe_b64encode(original_bytes)
# 将编码后的字节对象转换为字符串
encoded_string = encoded_bytes.decode('utf-8')

# 进行 URL 安全的 Base64 解码
decoded_bytes = base64.urlsafe_b64decode(encoded_string)
# 将解码后的字节对象转换为字符串
decoded_string = decoded_bytes.decode('utf-8')

print(f"原始字符串: {original_string}")
print(f"URL 安全的 Base64 编码后的字符串: {encoded_string}")
print(f"解码后的字符串: {decoded_string}")

代码解释

  • 使用 base64.urlsafe_b64encode() 函数进行 URL 安全的 Base64 编码。
  • 使用 base64.urlsafe_b64decode() 函数进行 URL 安全的 Base64 解码。

通过以上方法,你可以在 Python 中方便地进行 Base64 编码和解码操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值