日本語ツール一覧 / URLデコード — %XX を読める日本語に戻すEnglish version →
URLデコード — %XX を読める日本語に戻す
ログの調査やOAuthコールバックのデバッグでは、値が %E3%81%82… のような読めない形で現れます。このツールはUTF-8でエンコードされた日本語を含め、元のテキストに復元します。
鉄則は「構造を分解してから、値をデコード」。先に ? & = でURLを分割し、それから各値をデコードしてください。先にURL全体をデコードすると、値の中に隠れていた区切り文字が現れてパースが壊れます。
使い方
- %XX を含むテキストを貼り付ける
- Convertでデコード
- まだ %25 が残っていたら二重エンコード:もう一度デコードする
よくある質問
- 日本語が文字化けするのはなぜ?
- バイト列がUTF-8ではないからです。古いシステムはShift_JISやEUC-JPでエンコードしていることがあります。ここで %XX 層をデコードした後、スクリプトでcharset変換してください。
- + は空白に変換すべき?
- HTMLフォーム由来のデータ(form-encoded)の場合だけです。純粋なパーセントエンコーディングでは + はプラス記号そのもの。データの出所を確認してから変換してください。
- デコード結果は安全ですか?
- デコード処理は安全ですが、中身は信頼できないデータとして扱ってください。攻撃ペイロードの多くはフィルタ回避のためにエンコードされて運ばれます。エスケープなしでHTMLやSQLに埋め込むのは厳禁です。