Reference

PythonでのBase64

Pythonのbase64モジュールを使った完全ガイド — 文字列、ファイル、実践的な使用例。

文字列のエンコード・デコード

import base64

encoded = base64.b64encode('Hello World'.encode()).decode()
# 'SGVsbG8gV29ybGQ='

decoded = base64.b64decode(encoded).decode()
# 'Hello World'

ファイルのエンコード

with open('image.png', 'rb') as f:
    encoded = base64.b64encode(f.read()).decode()

with open('output.png', 'wb') as f:
    f.write(base64.b64decode(encoded))

よくある質問

Python 3で.encode()と.decode()が必要な理由は?

base64はバイト列を扱います。.encode()で文字列をバイト列に、.decode()でバイト列を文字列に変換します。