Base64のエンコードとデコードのしくみを完全に理解する
Base64とは、2進数のデータを印刷可能な文字列に変換するための符号化であり、アルファベット(大文字小文字)や数字、+”/”の2つの記号を使用した64文字で任意の2進数データを表す。
符号化の原則:
- 2進データを6ビット(2進法の最小単位)ごとに区切り、それぞれの先頭に0を補って6桁の値にします。
- 6桁の値を10進数の数値に変換した後に、対応表(A-Z、a-z、0-9、+、/など)に従って、対応する文字を取得します。
- 1 と 2 の手順を、すべてのバイナリ データが処理されるまで繰り返します。
復号の原理
- エンコードされた文字列に対応する10進数を取得
- この10進数を6桁の2進数に変換する。
- 0を前置した6桁の2進数を削除し、元の2進数データを取得します。
- 工程 2・3 を繰り返して全文字を復号化するまで続けます。
なお、元のバイナリデータ長が6の倍数でない場合、エンコード時にパディングが必要になります。通常は「=」という文字でパディングします。
Base64エンコードは、データの伝送や保存によく利用される手法で、電子メールでの送信、URLでの送信、画像の保存などに用いられています。