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、數據結構、算法、編程、網絡等各種常考題。