Base64 とは?

バイナリデータをテキスト化する理由と用途

Base64 が解決する問題

コンピューターはバイナリで保存しますが、メール、JSON、HTML、URL は任意のバイナリを安全に運べません。Base64 はデータを印刷可能な 64 種類の ASCII 文字へ変換します。

仕組み

3 バイト(24 ビット)を 6 ビットずつ 4 組に分け、A–Z、a–z、0–9、+/へ対応させます。結果は約 33% 大きくなり、必要に応じて = を追加します。

入力: "Hi!" → 出力: "SGkh"

URL セーフ Base64

URL で特別な意味を持つ +/-_に置換します。メールやデータ URI は標準形式、JWT・URL パラメータ・ファイル名は URL セーフ形式が適しています。

主な用途

  • HTML/CSS への画像埋め込み
  • メール添付
  • JWT などの API トークン
  • JSON 内のバイナリ保存
  • HTTP Basic 認証

暗号化ではない

Base64 はエンコードであり暗号化ではありません。鍵も秘密もなく誰でもデコードできるため、機密情報を隠す用途には使えません。