Python 中 base64 编码与解码
base64 是经常使用的一种加密方式,在 Python 中有专门的库支持。
本文主要介绍在 Python2 和 Python3 中的使用区别:
在 Python2 环境:
Python 2.7.16 (default, Mar 25 2021, 03:11:28)
[GCC 4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.29.20) (-macos10.15-objc- on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import base64
>>> s = "AlwaysBeta"
>>> a = base64.b64encode(s)
>>> print a
QWx3YXlzQmV0YQ==
>>>
>>> base64.b64decode(a)
"AlwaysBeta"
在 Python3 环境:
Python3 中有一些区别,因为 Python3 中字符都是 unicode 编码,而 b64encode
函数的参数为 byte 类型,所以必须先转码。
Python 3.8.5 (default, Jul 21 2020, 10:42:08)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import base64
>>> a = base64.b64encode("AlwaysBeta".encode("utf-8"))
>>> a
b"QWx3YXlzQmV0YQ=="
>>> str(a, "utf-8")
"QWx3YXlzQmV0YQ=="
>>>
>>> base64.b64decode(a)
b"AlwaysBeta"
>>> str(base64.b64decode(a), "utf-8")
"AlwaysBeta"
以上就是本文的全部内容,如果觉得有用的话欢迎点赞和转发,多谢。
推荐阅读:
- 计算机经典书籍(含下载方式)
- 技术博客: 硬核后端开发技术干货,内容包括 Python、Django、Docker、Go、Redis、ElasticSearch、Kafka、Linux 等。
- Go 程序员: Go 学习路线图,包括基础专栏,进阶专栏,源码阅读,实战开发,面试刷题,必读书单等一系列资源。
- 面试题汇总: 包括 Python、Go、Redis、MySQL、Kafka、数据结构、算法、编程、网络等各种常考题。