ByteCompress

URLデコーダー

パーセントエンコードされたURLとURIコンポーネントを人間が読めるテキストに戻します。RFC 3986に従った%XXシーケンスとHTMLフォーム送信からの+-エンコードされたスペースを処理します。

0 chars
FreeClient-sideNo signup

サーバーアクセスログ、リダイレクトチェーン、APIエラーメッセージには、瞬時に読み取ることができないパーセントエンコードされたURLが含まれています。https://example.com/search?q=Hello%20World%21&lang=tr%C3%BC%C5%9Fは、1回の貼り付けで可読になります。このブラウザベースのデコーダーはRFC 3986に従い、JavaScriptのdecodeURIComponent()を使用します - 何もアップロードされず、アカウントは不要です。典型的なAPIデバッグワークフローの分析では、URL文字列のデコードは、インシデント調査中の開発者の最も一般的なタスクの5つのうちの1つです。

URLをデコードする方法

  1. パーセントエンコードされたURLまたはクエリ文字列を入力フィールドに貼り付けます。
  2. デコードをクリックするか、リアルタイムモードを有効にして、入力中に即座に結果を得ます。
  3. 可読性のあるデコードされた出力が結果パネルに表示されます。
  4. 分析、文書作成、共有のためにデコードされたテキストをコピーします。

URLデコーディングの理解

デコードされるもの

デコーダーは、RFC 3986のパーセントエンコーディングを逆にし、各%XXシーケンスをその16進数バイト値の文字に置き換えます。マルチバイトのUnicode文字の場合、複数の連続した%XXシーケンスがUTF-8バイトシーケンスとして一緒にデコードされます。クエリ文字列の+記号はオプションでスペースとしてデコードされます - HTMLフォーム送信で使用されるapplication/x-www-form-urlencodedの慣例です。

一般的なシーケンスとその意味

  • %20 → スペース(RFC 3986標準)
  • %2B+
  • %2F/
  • %3A:
  • %3D=
  • %26&
  • %40@
  • %23#
  • %C5%9Fş(マルチバイトUTF-8)
  • %E4%B8%AD(マルチバイトUTF-8)

入力

https://example.com/search?q=Hello%20World%21&lang=tr%C3%BC%C5%9F

出力

https://example.com/search?q=Hello World!&lang=trüş

一般的な使用例

  • サーバーログ分析 - アクセスログでクエリパラメータやリファラURLを読む
  • リダイレクトデバッグ - 認証フローでの?redirect=?return_to=の値をデコードする
  • APIテスト - ネットワークトレースでキャプチャされたリクエストURLをデコードしてから分析する
  • 分析検査 - UTMパラメータやトラッキングURLの実際の内容を読む

一般的な間違い

  • 二重エンコードされたURL - %2520%20にデコードされ、スペースではありません。これは、%25%自体のエンコーディングだからです。二回デコードする必要があります。
  • +の取り扱いの誤り - +はフォームデータでのみスペースを意味します。パスセグメントでは、+はリテラルのプラス記号です。フォームデータオプションを適宜切り替えてください。
  • 非UTF-8エンコーディング - 古いWebアプリはISO-8859-1を使用する場合があります。その場合、デコードされた出力は非ASCII文字に対して文字化けして表示されます。

URLをエンコードするには、URLエンコーダーを使用してください。URLクエリパラメータに埋め込まれたJSONをデコードするには、まずこのツールでデコードし、その後JSONバリデーターで検証してください。URLに見つかるBase64をデコードするには、URLセーフモードのBase64デコーダーを使用してください。

よくある質問

URLデコーディングとは何ですか?

URLデコーディング(パーセントデコーディング)は、RFC 3986で定義されたパーセントエンコーディングを逆にします。各%XXシーケンスを、16進数ペアが表す実際のバイトに置き換え、そのバイトシーケンスをUTF-8テキストとして解釈します。Hello%20World%21はHello World!に変わります。これは、%20がスペース(バイト0x20)の16進数であり、%21が感嘆符(バイト0x21)の16進数だからです。

なぜデコードすると文字化けが発生するのですか?

文字化けした出力は、通常、URLが非UTF-8文字セット(古いWebアプリで一般的なISO-8859-1など)を使用してエンコードされたか、データが二重にエンコードされていることを意味します。%2520がスペースではなく%20にデコードされる場合、URLは二重にエンコードされています。実際の値を取得するには、もう一度デコードしてください。

%20と+のスペースの違いは何ですか?
%20は、現代のAPIでURLパスやクエリ値に使用されるスペースのRFC 3986標準です。+記号は、application/x-www-form-urlencoded形式(HTMLフォーム送信)でのみスペースを表します。このデコーダーは両方を処理します:%20は常にスペースとしてデコードされ、+はフォームデータモードでスペースとしてデコードされます。
クエリパラメータを含む完全なURLを一度にデコードできますか?

はい。スキーム、ホスト、パス、クエリ文字列を含む完全なURLを貼り付けてください。デコーダーは、すべてのパーセントエンコードされたシーケンスを一度の処理で処理します。%2Fや%3Fのような構造的な文字をデコードすると、結果のURLが機能しなくなる可能性があるため、リクエストを行うためではなく、読み取り専用の完全にデコードされたバージョンを使用してください。

トークンやセッションIDを含むプライベートURLでこのツールは安全ですか?

はい。デコーディングは完全にクライアント側で、JavaScriptのdecodeURIComponent()を使用して実行されます。URL、認証トークン、セッション識別子、クエリパラメータは、サーバーに送信されたり、どこにも保存されたりすることはありません。