Base64エンコーディングとは?

Base64エンコーディングはWeb開発のあらゆる場所に存在します。このガイドでは、その仕組みと効果的に使用するタイミングを説明します。

Base64が存在する理由

多くのシステムはテキストのみを安全に処理します。バイナリデータには、これらのシステムを壊す文字が含まれる可能性があります。Base64は、送信時に確実に生き残る64文字のみを使用して、バイナリを安全なテキストに変換します。 64文字はA-Z、a-z、0-9、+、および/です。=文字はパディング用です。この安全性は、33%のサイズ増加コストがかかります。 =記号で終わる文字と数字の長い文字列を見ると、おそらくBase64を見ています。

64文字

標準Base64:A-Z(26)、a-z(26)、0-9(10)、+と/(2)、=はパディング用。 Base64URLは、URL安全性のために+を-に、/を_に置き換えます。JWTやURLパラメータでBase64URLが見られます。 入力長が3バイトの倍数でない場合、=パディングが表示されます。一部のシステムでは、パディングの省略が許可されています。

仕組み

Base64はバイナリを6ビットグループに分割し、各グループを64文字の1つにマッピングします。3バイトが4文字になります。 例:"Hi"(72、105)→ビットを結合→6ビットグループに分割→文字にマップ→パディングを追加→"SGk=" エンコーディングは決定論的で可逆的です。同じ入力は常に同じ出力を生成し、常に元に戻すことができます。

ツールを試す

Base64エンコーダー/デコーダー

Base64エンコーダー/デコーダー

関連記事