PythonでBase64エンコーディングを行う際には、base64
モジュールを使用します。このモジュールにはb64encode()
という関数があり、これを使うと文字列をBase64形式にエンコードできます。
しかし、この関数を使う際には注意が必要です。なぜなら、b64encode()
関数は引数としてbytes型のオブジェクトを要求するため、文字列をエンコードする前にencode()
関数を使ってbytes型に変換する必要があります。
また、b64encode()
関数はエンコードした結果をbytes型で返すため、そのままではJSONなどの文字列しか受け付けない場所で使うことができません。そのため、エンコード結果を文字列として扱いたい場合には、さらにdecode('ascii')
関数を使ってbytes型を文字列に変換する必要があります。
以下に、文字列をBase64でエンコードし、その結果を文字列として扱う例を示します。
import base64
# エンコードしたい文字列
text = "こんにちは"
# 文字列をbytes型に変換
bytes_text = text.encode()
# bytes型の文字列をBase64でエンコード
base64_bytes = base64.b64encode(bytes_text)
# エンコード結果を文字列に変換
base64_str = base64_bytes.decode('ascii')
print(base64_str) # 出力: 44GT44KT44Gr44Gh44Gv
このように、Pythonのbase64
モジュールを使うと、文字列をBase64でエンコードし、その結果を文字列として扱うことができます。ただし、エンコードとデコードの過程で型の変換が必要であることを理解しておくことが重要です。