Base64エンコードとは?
Base64は、バイナリデータを64種類の印刷可能なASCII文字(大文字A–Z(26文字)、小文字a–z(26文字)、数字0–9(10文字)、プラス(+)とスラッシュ(/)、パディングとしてイコール(=))を使って表現するバイナリ-テキスト変換方式です。テキストベースのプロトコルで生のバイナリデータが破損する恐れがある場合に安全に転送するために設計されました。今日ではWeb開発のあらゆる場所で見られます:CSSに埋め込まれたデータURIイメージ、Basic Authヘッダー、JWTトークン、MIMEメール添付ファイル、バイナリコンテンツを含むAPIペイロードなどです。
現代のWeb開発でBase64が最も目に見える形で使われているのは、データURIフォーマットです:data:image/png;base64,... — HTMLやCSSに追加のHTTPリクエストなしで画像を直接埋め込む方法で、小さなアイコンやインライン背景に便利です。JWT(JSON Web Token)はヘッダーとペイロードのセクションにBase64url(+を-、/を_に置き換えた変形)エンコードを使用しています。Basic HTTP認証はAuthorizationヘッダーでBase64エンコードされた認証情報を送信します。APIレスポンスのBase64を認識してデコードする能力は、開発者にとって基本的なデバッグスキルです。
重要:Base64はエンコードであり、暗号化ではありません。鍵やパスワードなしに誰でもBase64をデコードできます——機密性はゼロです。機密データの保護にBase64を使用しないでください。Base64はデータサイズを約33%増加させます:3バイトのバイナリが4つのBase64文字になります。このサイズの引き換えは、エンコードされたデータがテキストベースのあらゆるチャンネルで安全に転送できるため許容されます。このツールは標準Base64(RFC 4648)に対応しています。すべてのエンコードとデコードはブラウザ内でローカルに実行され、サーバーに送信されることはありません。