Python中的base64.b64decode()

2025 年 3 月 3 日 | 阅读 4 分钟

在下面的教程中,我们将学习 Python 的 base64 模块中的 b64decode() 方法。我们还将通过一些示例来了解它的实现。

那么,让我们开始吧。

理解 base64.b64decode() 方法

在 Python 中,可以使用 base64 模块的 base64.b64decode() 函数来解码 base64 格式的数据。它在接收到 base64 编码的文本或字节输入后,会返回原始的二进制数据。该函数常用于解码存储为 base64 编码格式的数据或通过网络接收的数据。在处理使用 base64 编码进行数据表示的系统或协议时,反向过程——解码编码数据——对于确保二进制和 ASCII 表示之间平滑互换至关重要。

原型和规范

base64.b64decode() 方法唯一必需的参数是 's'

  • 有必要解码 s 中包含的类字节对象。
  • altchars 参数指定用于替换 + 和 / 字符的替代字符。altchars 是一个类字节对象,其长度至少为两个字节。
  • 忽略 s 中所有非 base64 或非替代字符。否则会引发错误。

注意:base64.b64encode() 方法一次编码三个字节。如果最后一个字节集少于三个字节,则使用 = 字符进行填充。单个 = 字符表示最后一个字节集包含一个字节,而两个 = 字符表示最后一个字节集包含两个字节。

通过 base64.b64decode() 方法,我们可以将二进制字符串解码为正常形式。

语法

返回:返回解码后的字符串。

在 Python 中实现 base64.b64decode() 方法

现在我们已经理解了 base64 模块提供的 b64decode() 方法的基础知识;现在是时候通过一些示例来了解它的实现。

示例 1

如本例所示,我们可以利用 base64.b64decode() 函数获得解码后的字符串——它可能是二进制形式。

代码

程序说明

为了说明 base64 编码和解码,这个 Python 脚本从 base64 包中导入了 b64decode 和 b64encode 方法。首先使用 b64encode 对字节序列 'JavaTPoint' 进行编码;然后将编码后的数据保存在变量 's' 中。然后该脚本使用 b64decode 将 's' 解码回其原始形式。将解码后的字节序列赋给变量 'jtp',并报告结果。此程序作为一个示例,展示了 base64 编码和解码(一种将二进制数据转换为 ASCII 字符或反之的流行方法)如何在 Python 中实际用于数据转换。

输出

 
b'JavaTPoint'   

示例 2

下面的代码展示了如何解码 base64 类字节对象,而无需任何其他字符。

  • 该程序以二进制形式获取字符串 pppfoo???,使用 utf-8 编码。
  • 在对字节进行 base64 编码后,程序显示已编码的数据。
  • 程序使用 base64.b64decode() 函数解码编码后的数据,并验证编码的准确性。
  • 解码后,将从二进制转换为字符串的形式显示出来。可以看到,第一个和最后一个字符串是相同的。

代码

程序说明

这个 Python 脚本演示了如何使用 base64 模块来编码和解码字符串。首先使用 UTF-8 编码将 'pppfoo???' 编码为字节,然后使用 base64.b64encode 将字符串编码为 base64 格式。

输出

 
b'cHBwZm9vPz8/'
pppfoo???   

示例 3

以下代码是另一个演示使用 base64.b64decode() 方法的示例

代码

程序说明

这个 Python 脚本从 base64 包中导入了 b64decode 和 b64encode 方法。使用 b64encode 对字节序列 "Hello World" 进行编码;然后将编码后的数据保存在变量 "s" 中。然后该脚本使用 b64decode 将 's' 还原回其原始形式。将解码后的字节序列赋给变量 'jtp',并报告结果。此示例演示了如何在 Python 中使用 base64 编码和解码将数据转换为适合传输或存储的格式,然后再将其还原回原始状态。

输出

 
b'Hello World'