日本語ツール一覧 / URLデコード — %XX を読める日本語に戻すEnglish version →

URLデコード — %XX を読める日本語に戻す

ログの調査やOAuthコールバックのデバッグでは、値が %E3%81%82… のような読めない形で現れます。このツールはUTF-8でエンコードされた日本語を含め、元のテキストに復元します。

鉄則は「構造を分解してから、値をデコード」。先に ? & = でURLを分割し、それから各値をデコードしてください。先にURL全体をデコードすると、値の中に隠れていた区切り文字が現れてパースが壊れます。

使い方

  1. %XX を含むテキストを貼り付ける
  2. Convertでデコード
  3. まだ %25 が残っていたら二重エンコード:もう一度デコードする

よくある質問

日本語が文字化けするのはなぜ?
バイト列がUTF-8ではないからです。古いシステムはShift_JISやEUC-JPでエンコードしていることがあります。ここで %XX 層をデコードした後、スクリプトでcharset変換してください。
+ は空白に変換すべき?
HTMLフォーム由来のデータ(form-encoded)の場合だけです。純粋なパーセントエンコーディングでは + はプラス記号そのもの。データの出所を確認してから変換してください。
デコード結果は安全ですか?
デコード処理は安全ですが、中身は信頼できないデータとして扱ってください。攻撃ペイロードの多くはフィルタ回避のためにエンコードされて運ばれます。エスケープなしでHTMLやSQLに埋め込むのは厳禁です。