Python中base64编码与解码详解
作者:程序员贝塔
本文主要介绍了Python2和Python3中使用base64加密方式的区别,Python3中字符为unicode编码,而b64encode函数的参数为byte类型,所以需要先进行转码
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'
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。