URLデコード
パーセントエンコードされたURLやクエリの値を、読めるテキストに戻します。すべてブラウザ内で動作します。
すべてブラウザ内で動作します。アップロード、記録、保存は一切行いません。
%20や%3AだらけのURLを貼り付けて、本来の形で読みましょう。リダイレクトの連鎖、戻り先のパラメーター、肝心な部分がエスケープに埋もれたログの行などで役立ちます。
仕組み
"%"に続く2桁の16進数は、それが示すバイトになり、得られたバイト列をUTF-8として読みます。フォームデータ方式では"+"もスペースになります。誤った方式でクエリ文字列をデコードすると、プラス記号が残ったり、本来のプラス記号が消えたりするのはそのためです。
有効なパーセントエンコードでない並びは、エラーとして扱わずにそのまま残します。ログに現れるURLは、一部だけエンコードされていることが多いからです。
例
| ケース | 入力 | 結果 |
|---|---|---|
| クエリパラメーターに隠れたリダイレクト先 | https%3A%2F%2Fexample.com%2Fa%3Fb%3D1 | https://example.com/a?b=1 |
| フォームから送信された値 | coffee+%26+cake | coffee & cake |
よくある質問
結果にまだ%記号が残っています。
おそらく値が二重にエンコードされています。URLが2つのシステムを通る間にエスケープされるとそうなります。結果をもう一度デコードしてください。"%253A"は"%3A"になり、さらに":"になります。
プラス記号がスペースに変わってしまったのはなぜですか?
"+"がスペースを意味するフォームデータ方式でデコードしています。base64の値や電話番号のようにプラス記号が文字どおりのものだった場合は、URLコンポーネント方式に切り替えてください。
知っておきたいこと
- すべてブラウザ内で処理されます。貼り付けた内容はアップロードも記録も保存もされません。