Base64エンコーディング:完全ガイド
Base64エンコーディングは、バイナリデータをASCIIテキストに変換するコンピューティングにおける基本的な技術です。概念は単純に見えるかもしれませんが、Base64を正しく使用するタイミングと方法を理解することは、Web開発者、セキュリティ専門家、データ送信を扱うすべての人にとって非常に重要です。
Base64とは?
Base64は、64個の印刷可能なASCII文字のセットを使用してバイナリデータを表現するバイナリからテキストへのエンコーディングスキームです。名前は使用される64文字に由来します:A-Z(26)、a-z(26)、0-9(10)、および+と/(=はパディング用)。 Base64の主な目的は、テキストベースのシステムを介した安全な送信のためにバイナリデータをエンコードすることです。電子メール、URL、JSONはテキスト用に設計されており、バイナリデータを破損する可能性があります。Base64はバイナリを安全なテキストに変換します。 Base64は入力の3バイト(24ビット)ごとに4つのBase64文字(各6ビット)に変換します。これは約33%のサイズ増加を意味します。=によるパディングは、3の倍数でない入力を処理します。 Base64は圧縮ではありません—サイズが増加します。暗号化ではありません—誰でも即座にデコードできます。これは純粋に文字の安全性のための形式変換です。
一般的な使用例
データURIは画像をHTML/CSSに直接埋め込みます:<img src="data:image/png;base64,...">。これにより、小さな画像のHTTPリクエストが削減されますが、サイズが増加します。 JSON APIは、アップロードされた画像やファイルなどのバイナリデータにBase64を使用します。電子メールの添付ファイルは、バイナリファイルにBase64(MIME)を使用します。HTTP基本認証は、Base64で認証情報をエンコードします。 JWTトークンは、ヘッダー、ペイロード、署名にBase64URLエンコーディングを使用します。ブラウザのlocalStorageは、文字列のみをサポートするため、Base64エンコードされたバイナリデータを保存します。 Base64は、埋め込み、送信、シリアル化に適していますが、セキュリティには適していません。
Base64のオーバーヘッド
Base64は3バイトごとに4文字に変換します:33.33%のサイズ増加。1 MBのファイルは1.33 MBになります。Base64の使用を選択する際は、このオーバーヘッドを考慮してください。 許容可能なオーバーヘッド:10-20 KB未満の小さなアイコン、SVG、重要なアセット、電子メールの添付ファイル、シンプルさが重要なAPIペイロード。 問題のあるオーバーヘッド:大きな画像、高頻度のAPI、帯域幅が制限されたモバイル、大規模なストレージ。 圧縮により、一部のオーバーヘッドを相殺できます。キャッシングの考慮事項も重要です—インラインBase64は別途キャッシュできません。
ツールを試す
Base64エンコーダー/デコーダー
詳しく見る
よくある質問
Base64エンコーダー/デコーダー
よくある質問 →