Base64 エンコーダー / デコーダー
テキストやファイルをBase64にエンコード・デコードします。ブラウザ上で完結、プライバシー保護、無料です。
テキストやファイルをBase64にエンコード・デコードします。ブラウザ上で完結、プライバシー保護、無料です。
Base64 は、64 個の印刷可能な文字 (A ~ Z、a ~ z、0 ~ 9、プラス (+)、およびスラッシュ (/)) を使用し、パディングに等号 (=) を使用してバイナリ データを ASCII テキストとして表すエンコード スキームです。この形式は元々、バイナリ添付ファイルが 7 ビットのクリーンな電子メール転送に耐えられるように設計されましたが、現在では HTML 内のデータ URL、画像データを含む JSON、JWT ペイロード、基本認証ヘッダー、およびバイトを運ぶ必要があるテキストベースのプロトコルなど、数十の用途に拡張されています。
エンコードでは 3 バイトの入力が必要で、4 つの ASCII 文字の出力が生成されます。したがって、出力は入力より 33% 長くなります。これは、バイナリをテキストセーフ形式に適合させるためのコストです。デコードでは、このプロセスをまったく逆に実行し、エンコードされたテキストから元のバイトを復元します。
このツールは両方向を処理します。エンコード モードはテキスト入力 (またはアップロードによるバイナリ ファイル) を受け取り、base64 テキストを生成します。デコード モードは、base64 テキストを受け取り、元のテキストまたはダウンロード可能なバイナリを生成します。 URL セーフ バリアント (+ と / の代わりに - と _ を使用) がトークンと識別子でサポートされています。
Base64 は、テキストのみのコンテキストにバイナリ データを埋め込む標準的な方法です。 HTML のインライン画像はデータ URL (data:image/png;base64 など) を使用するため、別のリクエストを行わなくても小さなアイコンをページに同梱できます。画像、証明書、または署名を含む JSON ペイロードは、それらを Base64 文字列としてエンコードします。 JWT トークンは、ドットで区切られた 3 つの Base64 でエンコードされたセグメントです。
Base64 は、8 ビット バイナリを誤って処理するプロトコルの文字処理も正規化します。認証ヘッダー (基本認証では Base64 を使用します)、電子メールの添付ファイル、キーを含む構成ファイル、およびバイナリがパイプラインを確実に通過できないため、多くの API では Base64 が必要です。
データを貼り付け、方向を選択します。
Base64 は、入力の 6 ビットごとを 64 の出力文字の 1 つにマップします。 3 つの入力バイト (24 ビット) から 4 つの出力文字が生成されます。入力長が 3 の倍数ではない場合、エンコーダーは 1 つまたは 2 つの等号を追加して、出力を 4 の倍数文字に埋め込みます。
URL セーフな Base64 (RFC 4648 セクション 5 で定義) は、+ を - に、/ を _ に置き換えて、さらにエスケープすることなく URL およびファイル名で安全に使用できる文字列を生成します。 URL セーフなコンテキストでは、埋め込み等号が省略される場合があります。デコーダは通常、両方の形式を受け入れます。
JavaScript の btoa および atob は ASCII を直接処理しますが、非 ASCII 文字列では失敗します。 UTF-8 テキストの場合、コンバーターは TextEncoder/TextDecoder を使用してテキストとバイナリの間で変換し、バイナリを Base64 エンコードします。これにより、絵文字、アクセント付き文字、および非ラテン文字が正しく処理されます。