100% ローカル — データがブラウザの外に出ることはありません

URLデコード|リンクに付いた引数の中身をそのまま読み取れます

パーセント符号化されたテキストを読める形に戻します。プラス記号はプラスのまま残ります。URLではそれが正しく、フォームのデータでは違う、その線引きについてもここで説明しています。

高速 プライベート Cookieゼロ

URL-encoded 入力

Text 出力

このツールの動作

%XX の並びをその2桁が示すバイトに変え、得られたバイト列を UTF-8 のテキストとして読みます。caf%C3%A9 は café になります。アクセント付きの文字が2バイトだからです。

16進数は大文字でも小文字でも機能します。

知っておくべきはプラス記号

プラスはプラスのまま残ります。これは正しい動作であり、おそらく期待とは違うので、理由を正確に述べます。

よく似た2つの符号化が、ちょうど1文字だけ食い違います。

  • パーセント符号化は URL のパスや現代的なクエリ文字列で使われ、空白を %20 と書き、+ を文字どおりのプラスとして扱います。
  • フォーム符号化(application/x-www-form-urlencoded、HTML のフォームが送る形式)は、空白を + と書きます。

このツールは前者を適用します。ブラウザの decodeURIComponent と同じです。

どちらが生成した文字列なのかは、文字列自体からは分かりません。 推測するツールは、もう一方の場合を壊します。プラスはメールアドレス、電話番号、検索語の中の正当な文字です。すべてのプラスを空白に変えることは、そのまま残すことがフォームのデータにとって不便であるのと同じ確かさで、それらの値を破壊します。

入力がフォーム由来なら、先に + を %20 に置き換えてください。検索と置換を一度行えば、結果は正しくなります。

拒否するもの

16進2桁が続かないパーセント記号。100% は復号できません。生成すべきバイトがなく、それを捏造するのはエラーより悪いからです。正しく符号化した形は 100%25 です。

有効な UTF-8 にならない %XX の並びも、置換文字に差し替えるのではなく拒否します。存在しなかったテキストを読まされる代わりに、入力が壊れていることが分かります。

プライバシー

すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。

よくある質問

空白がプラス記号として戻ってきます。どう直しますか。
復号の前に `+` を `%20` に置き換えてください。入力はフォーム符号化で、そこではプラスが空白を意味します。このツールはパーセント符号化に従い、プラスはプラスです。どちらの慣習も実在し、文字列だけからは判別できません。
プラスを空白として復号してしまえばよいのでは。
プラスは値の中の正当な文字でもあるからです。メールアドレス、電話番号、検索語などに現れます。すべてを空白に変えれば、正しく符号化されたデータを壊すことになります。
100% が復号できないのはなぜですか。
パーセント記号はエスケープの始まりであり、16進2桁が続かなければなりません。ここでは何も続いていないため、生成すべきバイトが存在しません。正しい形は `100%25` です。

関連ツール