Base64テキストのエンコーダーとデコーダー
Unicodeテキストを標準Base64にエンコードするか、Base64バイト列を有効なUTF 8テキストにデコードします。選択モードと加工前の出力を確認できます。
仕組み
テキストを入力し、エンコード、デコード、自動判定から選びます。エンコードでは正しいUnicodeテキストをUTF 8バイト列に変換し、標準Base64文字セットとパディングで表します。
デコードでは標準Base64を受け付けます。末尾のパディングは省略できますが、未使用の末尾ビットは0である必要があります。バイト列が有効なUTF 8の場合だけテキストを返します。空白、URL用文字、誤ったパディング、0以外の末尾ビットは拒否します。
自動モードは、空でなく正規な標準Base64構文に合う入力をデコードします。それ以外はエンコードします。選択した入力が有効なUTF 8でなければエラーを表示し、エンコードには切り替えません。
デコードしたテキストが有効なJSONなら、別に整形表示します。加工前の出力はそのまま表示され、コピー操作も加工前の値を使います。JSONの整形では数値が変わることがあり、重複キーはまとめられます。
手順
- テキストまたはBase64文字列を入力
- モードを選び、方向を確認
- 加工前の出力を確認またはコピー
テスト済みの例
エンコードモードで「é」を入力します。テスト済みの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テキストをデコードします。