Tag Archives: base64

Base64エンコード覚書

Base64とは

バイナリーデータをテキストデータに変換するもの、テキストしか扱えない時に使う。Eメールとかで使われる。

アルゴリズム

  1. バイト列を3バイトごとに区切る(24ビット)
  2. この24ビットを6ビットごとに区切る(6ビットが4つ)
  3. この6ビットを64個の文字にマップする。
  4. 最後のうまく区切れないところは=でパディングする

具体例、helloをBASE64エンコード

文字列helloを16進バイトストリームにすると、68 65 6C 6C 6F、
2進だと01101000 01100101 01101100 01101100 01101111
これを6ビットごとに区切ると、

これを10進、16進に直すと、

これをマップされた文字にすると

最後に2ビットの0を足したので=を足して
aGVsbG8=
が完成。