Pythonでは、Base64とバイナリデータの間で変換を行うことが可能です。これは、base64
という標準ライブラリを使用することで実現できます。
Base64とは
Base64は、バイナリデータをテキストに変換する仕様の一つで、画像などをテキスト化する際に使われます。具体的には、A–Z, a–z, 0–9までの62文字と、記号2つ (+, /)、の64種類の文字を使用します。
PythonでのBase64の使用
Pythonでは、base64
モジュールを使用してBase64とバイナリデータの間で変換を行うことができます。
バイナリをBase64でエンコードする
import base64
bytes_data = b'test text'
b64encoded = base64.b64encode(bytes_data)
print(b64encoded.decode()) # dGVzdCB0ZXh0
上記のコードでは、base64.b64encode()
関数を使用してバイナリデータをBase64エンコードしています。
Base64をデコードする
import base64
bytes_data = b'test text'
b64encoded = base64.b64encode(bytes_data)
data = base64.b64decode(b64encoded)
print(data) # b'test text'
上記のコードでは、base64.b64decode()
関数を使用してBase64データをデコードしています。
画像をBase64でエンコード/デコードする
import base64
# 画像ファイルを開いてbase64に変換
with open("python-logo.png", 'br') as f1:
b64_img = base64.b64encode(f1.read())
# base64をテキスト形式で保存
with open("python-logo.txt", "w") as f2:
f2.write(b64_img.decode())
上記のコードでは、画像のpngファイルを読み出しBase64でエンコードしたものを文字列としてテキストデータに保存しています。
まとめ
Pythonのbase64
モジュールを使用すると、バイナリデータとBase64の間で簡単に変換を行うことができます。これにより、画像や鍵、暗号化データ、電子署名などのバイナリデータをテキスト化して扱うことが可能となります。.