Rest
APIを利用してファイルをダウンロードした場合にファイルがBase64形式の文字列で渡されるケースが多いかと思います。
本記事はPythonにおけるBase64のエンコード、デコード方法を記載します。
定義
始めに言葉の定義を記載します
エンコード
エンコードは、符号化ともいい、デジタルデータを一定の規則に従って、目的に応じた符号に変換することである。
デコード
デコード(decode)は、復号ともいい、エンコードの対義語。
エンコードした情報を元に戻すこと。復号する機能を「デコーダ」(decoder)という。
Base64
Base64は、データを64種類の印字可能な英数字のみを用いて、
それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。
MIMEによって規定されていて、7ビットのデータしか扱うことの出来ない電子メールにて広く利用されている。
具体的には、A–Z,
a–z, 0–9 までの62文字と、記号2つ (+,
/)、さらにパディング(余った部分を詰める)のための記号として =
が用いられる。
本記事では、Base64にエンコードされたバイナリファイルをデコードする方法や、
その逆となるバイナリファイルをBase64にエンコードする方法を記載します。
Base64のエンコードとデコード
上記のコードはPNG画像をBase64にエンコードし、その後Base64をデコードして、encoded_python_logo.pngを保存しています。
当たり前ですが、エンコードする前の画像とデコードして生成した画像は同じとなります。
0 件のコメント :
コメントを投稿