Base64 エンコーダー・デコーダー

テキストをBase64に変換、またはBase64をテキストに復元します。アクセント付き文字やUnicodeも正しく処理します。

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 を正しく処理するため、何も破損することはありません。

よくある質問

Base64 は暗号化の形式ですか?
いいえ、Base64 は暗号化ではなくエンコードです。これは誰でも簡単に元に戻すことができ、セキュリティはまったく提供されません。これは、データをテキストセーフにして転送するために使用するものであり、機密情報を保護したり隠したりするためのものではありません。
アクセント付き文字や絵文字は扱えますか?
はい。このツールは UTF-8 でエンコードするため、アクセント付き文字、絵文字、およびあらゆる言語の文字は、エンコードおよびデコード後もそのまま残ります。多くの単純なツールでは、これらの文字が破損します。これはそうではありません。
なぜBase64をデコードする必要があるのでしょうか?
それを使用するものの内容、電子メールの添付ファイル、データ URL、基本認証ヘッダー、または JSON Web トークンのセグメントを検査するため。デコードすると、安全に転送できる文字列が読み取り可能なテキストまたはデータに戻されます。
無効な Base64 エラーは何を意味しますか?
これは、入力が有効な Base64 ではないことを意味します。通常、入力に Base64 アルファベット以外の文字が含まれているか、間違ったパディングが含まれていることが原因です。余分なスペースや改行を含まない完全な文字列を貼り付けたことを確認してください。
私のデータはアップロードされていますか?
いいえ。エンコードとデコードはすべてブラウザ内で行われます。データがデバイスから流出することは決してないため、アップロードしないコンテンツであっても安全です。
Base64 データが元のデータより大きいのはなぜですか?
Base64 は 3 バイトごとに 4 文字として表現するため、エンコードされた出力は入力よりも約 33% 大きくなります。このサイズの増加は、バイナリ データをテキストとして安全に送信できるようにするためのコストです。
Base64 データ URL とは何ですか?
これは、Base64 エンコーディングを使用してファイルのコンテンツを HTML または CSS に直接埋め込む方法であり、小さな画像やアイコンが別のリクエストとしてではなくページとともに読み込まれます。これは小規模なアセットに最も役立ちます。
これで JWT をデコードできますか?
JSON Web トークンの Base64 セグメントをデコードして、そのヘッダーとペイロードを読み取ることができます。これはデコードするだけで、秘密鍵が必要なトークンの署名は検証しないことに注意してください。
アクセント付きの文字や絵文字が壊れますか?
いいえ。このツールは UTF-8 でエンコードするため、単純な ASCII を前提とする単純なツールとは異なり、アクセント付き文字、絵文字、および任意の言語のテキストはそのままエンコードおよびデコードされても残ります。