社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python3内置模块之base64编解码方法小结

若数 • 6 年前 • 494 次点击  
阅读 42

Python3内置模块之base64编解码方法小结

概述

Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来表示二进制数据的方法。可查看 RFC2045 ~ RFC2049,上面有 MIME 的详细规范。Base64 编码是从二进制到字符的过程,可用于在 HTTP 环境下传递较长的标识信息。比如使二进制数据可以作为电子邮件的内容正确地发送,用作 URL 的一部分,或者作为 HTTP POST 请求的一部分. 即 base64 其实不能归属密码领域,作用也不是用于加密,它是一种编码算法,但是具有不可读性,所以可以说是防君子不防小人。

方法 概述
b64encode(s, altchars=None) 对  bytes-like object s  进行 Base64 编码,并返回编码后的  bytes
b64decode(s, altchars=None, validate=False) 解码 Base64 编码过的  bytes-like object  或 ASCII 字符串  s  并返回解码过的  bytes
standard_b64encode(s) 编码  bytes-like object s,使用标准 Base64 字母表并返回编码过的  bytes
standard_b64decode(s) 解码  bytes-like object  或 ASCII 字符串  s,使用标准 Base64 字母表并返回编码过的  bytes
urlsafe_b64encode(s) 编码  bytes-like object s,使用 URL 与文件系统安全的字母表,使用  -  以及  _  代替标准 Base64 字母表中的  +和  /,返回编码过的  bytes,结果中可能包含  =
urlsafe_b64decode(s) 解码  bytes-like object  或 ASCII 字符串  s,使用 URL 与文件系统安全的字母表,使用  -  以及  _  代替标准 Base64 字母表中的  +  和  /,返回解码过的  bytes
... ...

简单使用

我们最常用的两个方法即b64encodeb64decode-Base64 编码和解码,其中 b64encode 的参数 s 的类型必须是字节包(bytes)。b64decode 的参数 s 可以是字节包(bytes),也可以是字符串(str)。

Base64 编码

S = b'I like Python'
e64 = base64.b64encode(S)
print(e64)
复制代码

示例结果:

b'SSBsaWtlIFB5dGhvbg=='
复制代码

Base64 解码

S = 'SSBsaWtlIFB5dGhvbg=='
d64 = base64.b64decode(S)
print(d64)
复制代码

示例结果:

b'I like Python'
复制代码
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/33957
 
494 次点击