Base64とは
Base64 は、64 個の安全な文字、文字、数字、およびいくつかの記号のみを使用してバイナリ データまたはテキスト データを表す方法です。これは暗号化ではないため、セキュリティは提供されません。これは、電子メール、JSON ペイロード、データ URL、HTTP ヘッダーなどのテキストのみを処理するシステムを介してデータを安全に送信できるようにするエンコーディングです。このツールはテキストを Base64 に変換し、Base64 をデコードして読み取り可能なテキストに戻します。
Base64が必要な場合
開発者は常に Base64 に遭遇します。電子メールの添付ファイルは Base64 でエンコードされているため、バイナリ ファイルはテキストのみのメール転送に耐えられます。小さな画像は、リクエストを保存するために Base64 データ URL として CSS または HTML に直接埋め込まれます。基本認証ヘッダーには、Base64 でエンコードされた資格情報が含まれます。 JSON Web トークンはセグメントに Base64 を使用します。これらのいずれかを検査または作成する必要がある場合、手動でエンコードおよびデコードするのは現実的ではありませんが、このツールを使用すると即座にそれが実行されます。
Unicode が正しく処理されました
Base64 ツールの一般的なバグは、単純なエンコーディングがプレーン ASCII を前提としているため、アクセント付き文字や非ラテン文字が壊れることです。このツールは最初に UTF-8 でエンコードするため、アクセント付きの文字、絵文字、およびあらゆる言語の文字はラウンドトリップ後もそのまま残ります。任意のスクリプトで「カフェ」またはテキストをエンコードし、元どおりにデコードできます。
Base64は暗号化ではありません
強調しておきたいのは、Base64 は簡単に元に戻すことができ、保護を提供しないということです。このツールを使用する場合も含め、誰でもすぐにデコードできます。安全であると考えて、パスワードや機密データを隠すために Base64 を使用しないでください。これは純粋にトランスポート エンコーディングであり、データを秘密にするためではなく、データをテキストセーフにするために役立ちます。実際のセキュリティのためには、実際の暗号化が必要ですが、それはまったく別のものです。
Base64 エンコードの仕組み
Base64 はバイナリ データを受け取り、64 個の印刷可能な文字 (A ~ Z、a ~ z、0 ~ 9、プラス、スラッシュ) を使用し、等号をパディングとして使用してそれを表します。入力の 3 バイトごとに 4 つの Base64 文字になるため、エンコードされたデータは元のデータよりも約 3 分の 1 大きくなります。この拡張は、テキストのみのコンテキストにデータを安全に埋め込めるようにするためのトレードオフです。デコードではプロセスを正確に逆にして、元のバイトを復元します。
データURLと埋め込み画像
Base64 の日常的な用途の 1 つはデータ URL です。これは、小さなファイルを HTML または CSS にリンクする代わりに直接埋め込みます。 Base64 データ URL としてエンコードされた小さなアイコンは、別のリクエストを必要とせずにページとともに読み込まれるため、小さなアセットのレンダリングを高速化できます。開発者は画像データを貼り付け、エンコードし、結果を src 属性にドロップします。大きなファイルの場合、サイズのデメリットがメリットを上回りますが、小さなアイコンやインライン SVG の場合は一般的な手法です。
トークン、電子メール、API における Base64
Base64 は Web 開発全体で使用されます。 JSON Web トークンはヘッダーとペイロードのセグメントを Base64 でエンコードするため、ヘッダーと URL 内で安全に移動できます。電子メールの添付ファイルは Base64 でエンコードされているため、バイナリ ファイルはテキストベースのメール転送に耐えられます。 HTTP 基本認証は、資格情報を Base64 でエンコードします。 API は、JSON 内の Base64 でエンコードされたバイナリ データを受け入れたり返したりすることがあります。これらのいずれかを検査または構築する必要がある場合、このツールは即座にエンコードおよびデコードし、Unicode を正しく処理するため、何も破損することはありません。