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