Base64 変換ツール
知識ポイント
Base64 エンコードの原理
Base64 は A-Z、a-z、0-9、+、/ の 64 文字でテキストを表現します。3 つの 8 ビットバイトを 4 つの 6 ビットグループに分け、それぞれを Base64 のインデックス表に対応させます。
- a: 0110 0001
- b: 0110 0010
- 2: 0011 0010
Base64 インデックス対応
- Y: 0110 00
- W: 0101 10
- I: 0010 00
- y: 1100 10
分割前: 0110 0001、0110 0010、0011 0010、つまり a、b、2 です。
分割後: 0110 00、0101 10、0010 00、1100 10 となり、それぞれ Y、W、I、y に対応します。
そのため ab2 の Base64 結果は YWIy です。
Base64 が元サイズの約 4/3 になる理由
1 バイトは 8 ビットですが、Base64 はデータを 6 ビット単位に分けます。保存時には各 6 ビット単位を 8 ビットにそろえる必要があります。
元の 24 ビットはパディング後に 32 ビットになるため、Base64 の結果は元データの約 4/3 になります。
Base64url と Base64 の違い
標準 Base64 の + と / は URL 内で %2B、%2F にエンコードされ、URL が長くなります。Base64url は A-Z、a-z、0-9、-、_ を使い、URL で扱いやすい文字列にします。
