Base64デコード、Base64エンコード、Base64暗号化/復号化

  1. 変換規則:Base64変換では、3バイト(3*8bit = 24bit)のデータを24bitバッファに順次配置し、最初のバイトが上位を占めます。データが3バイト未満の場合、バッファの残りのビットは0で埋められます。その後、6ビットずつ取り出します(24/6 = 4)。2^6=64なので、その値に応じて、これらの64文字から対応する文字を選択します ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ エンコード出力として。すべての入力データが変換されるまで続行します。元のデータ長が3バイトの倍数でない場合、入力データが1つ残っている場合は、エンコード結果の後に2つの「=」を追加します。入力データが2つ残っている場合は、エンコード結果の後に1つの「=」を追加します。残りのデータがない場合は、何も追加しません。
  2. Base64エンコードされたデータは元のデータよりわずかに長く、元の長さの約4/3です。
  3. Base64エンコーディングは、異なるエンコーディングの下で同じ文字に対して異なる結果を生成する場合があります。
  4. エンコードされた+/=文字のため、標準のBase64はURLでの直接送信には適していません。+/およびその他の記号を他の記号(_-など)に変換するBase64の変種があり、URLで安全に送信できます(URL Safe)。