Base64 Encoder/Decoder
Convert text to/from Base64 encoding
Base64エンコーダー/デコーダーについて
Base64エンコーディングは、バイナリデータをテキスト形式に変換するための標準化された方法であり、インターネット上で安全に送信したり、テキストベースのシステムに保存したりできます。64個の印字可能なASCII文字(A-Z、a-z、0-9、+、/)のセットを使用してバイナリデータを表現し、テキストのみをサポートするシステムと互換性があります。
Base64は、バイナリデータを取得して6ビットのグループに変換し、各グループを64個の基本文字の1つにマップすることで機能します。このプロセスはデータサイズを約33%拡張しますが、エンコードされたデータが電子メールシステム、API、およびテキストベースのプロトコルを通じて破損なしに安全に送信できることを保証します。
Base64デコーディングは逆のプロセスです。Base64エンコードされたテキストを元のバイナリデータに変換します。等号(=)は、エンコードされた文字列の末尾にパディングとして使用され、データ長がBase64標準で必要とされる4文字の倍数であることを確認します。
Base64エンコーディングの仕組み
Base64エンコーディングは、バイナリデータの3バイト(24ビット)を4つのBase64文字として表現する原理に基づいて動作します(24ビット÷6ビット/文字= 4文字)。エンコーディング表は64文字で構成されています。大文字(A-Z)、小文字(a-z)、数字(0-9)、プラス記号(+)、スラッシュ(/)。
エンコーディングプロセスは次の手順に従います:
- ステップ1:バイナリデータを3バイト(24ビット)のグループで取得
- ステップ2:各24ビットグループを4つの6ビットセグメントに分割
- ステップ3:各6ビットセグメントを10進数(0-63)に変換
- ステップ4:各10進数を対応するBase64文字にマップ
- ステップ5:入力長が3で割り切れない場合はパディング(=)を追加
Base64文字セット:A-Z(0-25)、a-z(26-51)、0-9(52-61)、+(62)、/(63)、=(パディング)
ユースケース
1.電子メール添付ファイルとMIME
- 電子メール送信用のバイナリファイル(画像、ドキュメント)のエンコード
- MIME(Multipurpose Internet Mail Extensions)は、テキスト以外の添付ファイルにBase64を使用します
- 例:
SGVsbG8gV29ybGQ=はBase64で「Hello World」を表します
2.データURLと埋め込み画像
- 個別のファイルリクエストなしにHTML/CSSに直接画像を埋め込む
- データURL:
data:image/png;base64, iVBORw0... - HTTPリクエストを削減し、ページロードパフォーマンスを向上させます
- ファビコン、小さなロゴ、インライングラフィックスに便利
3. API認証
- 基本HTTP認証はBase64でユーザー名:パスワードをエンコード
- 例:
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ= - 基本的な認証情報の受け渡しを提供(暗号化ではない-HTTPSを使用)