portfolios.tools

Base64テキストのエンコーダーとデコーダー

Unicodeテキストを標準Base64にエンコードするか、Base64バイト列を有効なUTF 8テキストにデコードします。選択モードと加工前の出力を確認できます。

入力
モード
選択された方向: エンコード
結果

仕組み

テキストを入力し、エンコード、デコード、自動判定から選びます。エンコードでは正しいUnicodeテキストをUTF 8バイト列に変換し、標準Base64文字セットとパディングで表します。

デコードでは標準Base64を受け付けます。末尾のパディングは省略できますが、未使用の末尾ビットは0である必要があります。バイト列が有効なUTF 8の場合だけテキストを返します。空白、URL用文字、誤ったパディング、0以外の末尾ビットは拒否します。

自動モードは、空でなく正規な標準Base64構文に合う入力をデコードします。それ以外はエンコードします。選択した入力が有効なUTF 8でなければエラーを表示し、エンコードには切り替えません。

デコードしたテキストが有効なJSONなら、別に整形表示します。加工前の出力はそのまま表示され、コピー操作も加工前の値を使います。JSONの整形では数値が変わることがあり、重複キーはまとめられます。

手順

  1. テキストまたはBase64文字列を入力
  2. モードを選び、方向を確認
  3. 加工前の出力を確認またはコピー

テスト済みの例

エンコードモードで「é」を入力します。テスト済みのUTF 8結果はw6k=です。

デコードモードでw6k=を入力します。加工前の出力は「é」です。どちらの方向も標準Base64文字セットを使います。

このツールを使う場面

APIやテキスト形式で必要な場合に、テキストのBase64表現を確認または作成するために使います。

入力が曖昧なら方向を明示し、UTF 8テキストではないバイナリデータには専用ツールを使ってください。

よくある誤り

選択された方向が意図と違う場合は、エンコードまたはデコードを明示的に選んでください。Base64として有効な通常テキストが、通常テキストのまま意図されたかは自動判定できません。

整形したJSON表示を元データの完全なコピーとして使わないでください。デコードしたテキストを保つには加工前の出力をコピーしてください。

エンコードとデコードの規則

エンコード: UTF 8バイト列 = TextEncoder(テキスト); Base64 = 標準文字セットとパディングでバイト列を表現

デコード: バイト列 = 標準Base64をデコード(テキスト); 出力 = UTF 8として厳密にデコード(バイト列)

自動: 正規な標準Base64構文ならデコード、それ以外の空でないテキストならエンコード

未使用の末尾ビットが0なら、標準Base64はパディングありでも省略でも受け付けます。空白、URL用文字、誤ったパディングは拒否します。入力上限はUTF 16コード単位で100,000です。

前提と制限

このツールはUTF 8と標準Base64文字セットでテキストを変換します。バイナリファイルビューアーではありません。自動判定は構文に基づくため、有効なBase64に合う通常のテキストをデコードする場合があります。一部のトークン形式で使われるURL用Base64には対応しません。入力上限はUTF 16コード単位で100,000です。JSONの整形表示は数値を変えることがあり、重複キーをまとめます。加工前の出力は表示とコピーに使えます。

用語

Base64
標準Base64文字セットを使ったバイト列のテキスト表現です。
UTF 8
Base64エンコード前とデコード後にテキストをバイト列へ変換する文字コードです。
正規Base64
未使用の末尾ビットを0にしたパディング付きBase64表現で、バイト列を一意に表します。このデコーダーは末尾のパディングを省略した同じバイト列も受け付けます。

関連ツール

トークン内のBase64url部分にはJWT Debuggerを使えます。このツールはUTF 8テキスト用の標準Base64文字セットを受け付けます。

エンコード、デコード、自動判定を選びます。結果を別のアプリで使う前に制限を確認してください。

よくある質問

Base64はテキストをどう変換しますか?

Base64は文字を使ってバイト列を表します。このツールのエンコードモードは、正しいテキストをまずUTF 8のバイト列に変換し、そのバイト列をエンコードします。デコードモードは逆の手順で、有効なUTF 8テキストを必要とします。

Base64はメッセージを暗号化または保護しますか?

いいえ。Base64が変えるのは表現形式であり、機密性や完全性ではありません。誰でもデコードでき、データが変更されたかどうかも検出しません。

このデコーダーが読めるBase64文字列はどれですか?

デコーダーは標準文字セットのAからZ、aからz、0から9、プラス記号、スラッシュを受け付けます。パディングの有無にかかわらず、バイト列を一意に表すため未使用の末尾ビットは0である必要があります。空白、URL用文字、誤った位置のパディングは拒否します。

自動モードは方向をどう選びますか?

自動モードは、空でなく標準Base64の正規な構文に合う入力をデコードします。それ以外はテキストをエンコードします。該当するBase64のバイト列が有効なUTF 8でなければ、エンコードに切り替えずデコードエラーを表示します。通常のテキストがBase64に見える場合もあるため、選択された方向を確認してください。

JSONの整形でコピーされるテキストは変わりますか?

デコードした加工前のテキストは表示され、コピー操作ではその値をコピーします。有効なJSONには別の整形表示も出ます。解析と再出力によって数値が変わることがあり、重複するオブジェクトキーも整形表示では一つにまとめられます。

関連ツール

JWT DebuggerはJWTで使われるURL用Base64部分を扱います。この計算ツールは標準文字セットを使い、UTF 8テキストをデコードします。