Base64
Base64 文字列をエンコードおよびデコードする
Base64 とは何で、いつ使用されますか?
Base64 は、64 の印刷可能な ASCII 文字(A–Z, a–z, 0–9, `+`, `/`)のみを使用して任意のバイトを表現します。テキストを期待する場所にバイナリデータを埋め込むために使用されます — メール添付(MIME)、データ URI(`data:image/png;base64,...`)、JWT トークン、基本認証ヘッダー、設定ファイルなど。
エンコードには約 33% のオーバーヘッドが追加されます — 3 バイトの入力が 4 文字の出力になります。ブラウザのネイティブ `btoa`/`atob` は Latin-1 文字列のみを処理するため、このツールは適切な UTF-8 変換でラップして、絵文字や非ラテンテキストをエンコードする際の「範囲外の文字」エラーを回避します。
使用例
- 小さなアセットをインラインで埋め込む — 1×1 トラッキングピクセルや SVG アイコンを CSS または HTML にペーストできるデータ URI に変換します。
- プレーンテキストチャネルでバイナリをエンコード — protobuf、画像、または署名を Base64 でラップして、JSON、メール、またはクエリ文字列を安全に通過させます。
- トークンやIDをエンコードします — これにより標準のBase64が出力されます。URLやファイル名で使用する場合は、`+`を`-`に、`/`を`_`に自分で入れ替えてください。
- JWT と OAuth ステートを検査 — JWT の各セグメントを Base64 デコードして、オンラインデバッガーを信頼せずにヘッダーとペイロードを読み取ります。
例
| 入力 | 結果 |
|---|---|
| Hello, World! | SGVsbG8sIFdvcmxkIQ== |
| Café ☕ | Q2Fmw6kg4piV |
よくある質問
ブラウザのネイティブ btoa が絵文字で失敗するのはなぜですか?
`btoa` は Latin-1(単一バイト)文字のみを受け付けます。マルチバイトの UTF-8 シーケンスは「InvalidCharacterError」を引き起こします。このツールは、最初に UTF-8 バイトにエンコードし、その後 Base64 にエンコードします — すべての Unicode に対応します。
URL 安全な Base64 とは何ですか?
URLやファイル名で安全なように、`+`を`-`に、`/`を`_`に置き換えるバリアントです。注意:このツールは標準のBase64を出力するため、URL安全な形式が必要な場合は自分でその入れ替えを行ってください。
デコードされた出力が乱れているのはなぜですか?
Base64が破損しているか、URL安全であったか(このツールは標準のBase64をデコードします — まず`-`を`+`に、`_`を`/`に戻してください)、または最初からテキストではなかった可能性があります — Base64は通常、読み取り可能なテキストにデコードされないバイナリデータをエンコードします。
Base64 は安全ですか?
いいえ — Base64 はエンコーディングであり、暗号化ではありません。誰でもデコードできます。運搬用に使用し、秘密を隠すためには使用しないでください。
ツールは何かをログに記録しますか?
いいえ。エンコードとデコードはブラウザ内で行われ、サーバーには何も送信されません。
