ツール説明
Base64 エンコード/デコードについて
Base64 エンコーダー/デコーダーは UTF-8 テキストを Base64 に変換し、Base64 を読みやすいテキストに戻します。
標準 Base64 と URL-safe Base64 に対応し、不正な入力を検証し、変換はブラウザー内で行われます。
Base64 Encoder/Decoder の使い方
- 通常の UTF-8 テキストを貼り付け、Encode を押して Base64 string を作ります。
- Base64 値を貼り付け、Decode を押して読みやすいテキストに戻します。
- URL、トークン部分、ファイル名のような field に入れる場合は URL-safe Base64 を有効にします。
- 出力を次の入力として使う場合は Swap を使います。
よくある利用場面
- デバッグ中にトークン部分、設定値、API ペイロードをデコードする。
- 短いテキストを Base64 にエンコードし、テストデータやドキュメントの例に使う。
- 他サービスへ送る前に、コピーした Base64 値が有効か確認する。
- Web トークンや URL パラメーターで standard と URL-safe 形式を変換する。
Base64、URL-safe Base64、パディング
Base64 はバイトを印字可能な文字で表します。これはエンコード形式であり encryption ではないため、テキストがあれば誰でもデコードできます。
- 標準 Base64 は英字、数字、プラス記号、スラッシュ、および省略可能な等号パディングを使います。
- URL-safe Base64 は plus を hyphen に、slash を underscore に置き換え、URL で扱いやすくします。
- Padding: 末尾の等号はバイト長の整列に使われます。一部の URL-safe 形式では省略されます。
- UTF-8 テキスト: 英語以外の文字はまずバイトへエンコードされ、それから Base64 で表されます。
Base64 エンコード/デコードのよくある質問
- Base64 は encryption ですか?
- いいえ。Base64 は可逆エンコードであり暗号化ではありません。デコードできる人には内容が見えます。
- Decode が失敗するのはなぜですか?
- 無効な文字、欠けたバイト、URL-safe モードの違い、コピーした空白文字が原因のことがあります。
- URL-safe Base64 はいつ使いますか?
- エンコード済みの値を URL、JWT 形式のトークン部分、filenames に入れるとき、plus や slash の問題を避けるために使います。
- Base64 で data は小さくなりますか?
- いいえ。バイナリデータを printable テキストで表すため、通常は約 3 分の 1 大きくなります。
- Base64 テキストはアップロードされますか?
- いいえ。Encode とデコードはブラウザー内で実行され、wetool.site へ送信されません。
Base64 と URL エンコード
Base64 はバイトをテキストとして表すためのものです。URL エンコードは URL 内の文字を escape するためのものです。クエリ文字列に Base64 を入れるなら、URL-safe Base64 の方が扱いやすいです。
標準 Base64 と URL-safe Base64
Base64 が URL、JWT、ファイル名、フォームの入力欄に出るとき、よくある失敗は文字セットの違いとパディングです。
- 標準 Base64 は + と / を使うため、クエリ文字列に入れる前に URL エンコードが必要になることがあります。
- URL-safe Base64 は - と _ を使い、JWT、OAuth state、短いトークン、ファイル名のような項目でよく使われます。
- Trailing = padding は protocol により保持または省略されます。Decode が失敗したら長さを 4 の倍数に補う必要があるか確認します。
Base64 のセキュリティ境界
Base64 はエンコードであり暗号化ではありません。Binary や UTF-8 テキストを印字可能な文字にしますが、内容は隠しません。
- Base64 文字列を持つ人は誰でもデコードできるため、シークレット、パスワード、秘密鍵を保護済みのデータと扱わないでください。
- JWT のペイロード、Basic 認証のヘッダー、設定値をデコードするときは、ログやチケットに貼る前に機微な内容だと仮定します。
- 機密性には本来の暗号化、真正性には署名、完全性にはハッシュを使い、Base64 は表現形式と考えます。