《Python Cookbook(第3版)中文版》——6.10 Base64编码和解码

    xiaoxiao2024-07-23  99

    本节书摘来自异步社区《Python Cookbook(第3版)中文版》一书中的第6章,第6.10节,作者[美]David Beazley , Brian K.Jones,陈舸 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    6.10 Base64编码和解码

    6.10.1 问题

    我们需要采用Base64编码来对二进制数据做编码解码操作。

    6.10.2 解决方案

    base64模块中有两个函数——b64encode()和b64decode()——它们正是我们所需要的。示例如下:

    >>> # Some byte data >>> s = b'hello' >>> import base64 >>> # Encode as Base64 >>> a = base64.b64encode(s) >>> a b'aGVsbG8=' >>> # Decode from Base64 >>> base64.b64decode(a) b'hello' >>>

    6.10.3 讨论

    Base64编码只能用在面向字节的数据上,比如字节串和字节数组。此外,编码过程的输出总是一个字节串。如果将Base64编码的数据同Unicode文本混在一起,那么可能需要执行一个额外的解码步骤。示例如下:

    >>> a = base64.b64encode(s).decode('ascii') >>> a 'aGVsbG8=' >>>

    当解码Base64数据时,字节串和Unicode文本字符串都可以作为输入。但是,Unicode字符串中只能包含ASCII字符才行。

    相关资源:python cookbook(第3版)
    最新回复(0)