Base64とは?
Base64は、バイナリデータをASCII文字列形式で表現するバイナリからテキストへのエンコーディング方式です。バイナリデータを64個の印刷可能な文字に変換し、テキストベースのプロトコルで安全にデータを送信できるようにします。
Base64を使う理由
• テキストベースのプロトコル(メール、HTTP)でバイナリデータを安全に送信 • テキスト形式(JSON、XML、HTML)にバイナリデータを埋め込む • データベースにバイナリデータをテキストとして保存 • CSSやHTMLで画像をエンコード • URLで特殊文字を処理
Base64文字セット
Base64は64文字を使用します: • A-Z(26文字) • a-z(26文字) • 0-9(10文字) • +と/(2文字) • =はパディング用
Base64の仕組み
1. バイナリデータから3バイト(24ビット)を取得 2. 各6ビットずつ4グループに分割 3. 各6ビットグループをBase64文字に変換 4. 入力が3で割り切れない場合、パディング(=)を追加
例
入力: "Hi"
バイナリ: 01001000 01101001
分割: 010010 000110 1001xx
Base64: S G k=
結果: "SGk="Base64 URLセーフ版
URL用に標準の+と/文字が置き換えられます: • +は-に • /は_に これをBase64URLエンコーディングと呼びます。
一般的な使用例
• 画像埋め込み用のData URI • メール添付ファイル(MIME) • JSON Web Tokens(JWT) • API認証ヘッダー • Cookieにバイナリデータを保存