Base64とは
バイナリーデータをテキストデータに変換するもの、テキストしか扱えない時に使う。Eメールとかで使われる。
アルゴリズム
- バイト列を3バイトごとに区切る(24ビット)
- この24ビットを6ビットごとに区切る(6ビットが4つ)
- この6ビットを64個の文字にマップする。
- 最後のうまく区切れないところは=でパディングする
具体例、helloをBASE64エンコード
文字列helloを16進バイトストリームにすると、68 65 6C 6C 6F、
2進だと01101000 01100101 01101100 01101100 01101111
これを6ビットごとに区切ると、
これを10進、16進に直すと、
これをマップされた文字にすると
最後に2ビットの0を足したので=を足して
aGVsbG8=
が完成。