Pythonで文字列をBase64文字列に変換(エンコード)してみます。
なお、今回はBase64文字列に変換するためにBase64モジュールを用います。このモジュール・ライブラリは、Pythonの標準ライブラリとなっていますので、事前にインストールする必要はありません。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■Base64モジュールを用いて文字列をBase64文字列に変換する
では、早速Base64モジュールを用いて文字列をBase64文字列に変換するスクリプトを書いていきます。
■コード
import base64 test_text = "Hello,New world!" ascii_data = test_text.encode('ascii') base64_byte_data = base64.b64encode(ascii_data) encode_text = base64_byte_data.decode('ascii') print(encode_text)
importでbase64モジュールを呼び出します。test_textという変数を定義し、その中に英語の文字列を格納します。今回は「Hello,New world!」とします。
次にascii_dataという変数を定義し、その中でtest_text変数に対してencode()を用います。括弧内には引数,パラメータとして「’ascii’(ASCII(アスキー、情報交換用米国標準コード)」を渡します。これでtest_text変数内の文字列が、asciiに変換されascii_data変数に格納されます。
格納後、base64_byte_dataという変数を定義し、base64.b64encode()を用います。括弧内には引数,パラメータとしてascii_data変数を渡します。これでasciiに変換された文字列がBase64文字列に変換され、base64_byte_data変数に格納されます。
この後、encode_textという変数という変数を定義し、その中でbase64_byte_data変数に対してdecode()を用います。括弧内には引数,パラメータとして「’ascii’(ASCII(アスキー、情報交換用米国標準コード)」を渡します。これでbase64_byte_data変数内のBase64文字列がasciiにデコード(解読し元に戻す)され、encode_text変数内に格納されます。
最後にencode_text変数内の情報をprint()を用いて出力します。
■実行・検証
コードを記述後、スクリプトを「string_b64_s.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると、Base64モジュールを用いて文字列をBase64文字列に変換し、変換されたBase64文字列をprint()で出力させることができました。
コメント