1. 程式人生 > 其它 >Python 中 base64 編碼與解碼

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、資料結構、演算法、程式設計、網路等各種常考題。