日本語ツール一覧 / URLエンコード(パーセントエンコーディング)— 日本語対応English version →
URLエンコード(パーセントエンコーディング)— 日本語対応
URLでは一部の文字が構造的な意味を持ちます。& はパラメータの区切り、# はフラグメントの開始、+ は文脈によって空白。これらを含むデータを未エンコードで送ると、値が途中で切れたり静かに壊れたりします。このツールはencodeURIComponentと同じ規則で安全な %XX 形式に変換します。
日本語はまずUTF-8バイト列に変換され、各バイトがエンコードされます。「あ」は %E3%81%82(3バイト)になります。1文字が長い列になるのは標準の動作で、データの破損ではありません。
使い方
- エンコードしたいテキストやパラメータ値を貼り付ける
- Convertを押す
- 結果をクエリ文字列やパスに安全に組み込む
よくある質問
- URL全体をエンコードすべきですか?
- いいえ。エンコードするのは「値」だけで、構造はそのままにします。URL全体をエンコードすると :// や / までデータ扱いになり、URLとして機能しなくなります。URLSearchParamsのように、部品ごとに組み立てて値だけエンコードするのが正解です。
- 空白は %20 と + のどちら?
- %20 が常に正解です。+ が空白を意味するのはフォーム形式のクエリ文字列だけ。データに本物の + が含まれる場合(電話番号 +81 など)は %2B にしないと受信側で空白になります。
- データ内の %2520 は何ですか?
- 二重エンコードです。% 自体が %25 になっており、2つのレイヤーが同じ値をエンコードしています。2回デコードすれば復元でき、コード側の重複レイヤーを取り除くのが根本対処です。