文字列のエンコード・デコード
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()でバイト列を文字列に変換します。