> urlエンコード | urlデコード <
// 高速、安全なURLエンコーディングとデコーディング、高度なオプション付き。特殊文字とスペースを正しく処理。
安全なURLエンコーディング
URLとクエリパラメータを正しくエンコード。特殊文字、スペース、国際文字を処理。
即座処理
リアルタイムURLエンコーディングとデコーディング。サーバー処理不要 - すべてローカルで実行。
エンコーディングオプション
スペースの処理方法(%20 vs +)とどの特殊文字をエンコードするかを選択し、最大の互換性を実現。
// URLエンコーディングについて
URLエンコーディングの仕組み:
URLエンコーディングは安全でない文字をパーセントエンコーディング形式(%XX)に変換。URLでデータを安全に送信するために不可欠。
URLエンコーディング例:
"Hello World!" => Hello%20World%21 (URLエンコード済み)
URLエンコーディングを使用する理由:
- >安全なURLパラメータの渡し
- >URL内の特殊文字の処理
- >国際文字のサポート
- >フォームデータの送信
- >クエリ文字列の構築
// FAQ
Q: URLエンコーディングとは何ですか、いつ必要ですか?
A: URLエンコーディングは特殊文字をパーセントエンコーディング形式(%XX)に変換してURLで安全に送信するための技術です。URL内のスペース、記号、非-ASCII文字に必要です。
Q: スペースにおける%20と+の違いは何ですか?
A: %20はスペースの標準URLエンコーディングです。+はフォームエンコーディング(application/x-www-form-urlencoded)です。URLには%20、フォームデータには+を使用してください。
Q: このURLエンコーダーはオフラインで動作しますか?
A: はい、100%クライアントサイド処理です。あなたのURLはブラウザ内でローカルにエンコード/デコードされます。サーバーにデータは送信されません。
// パーセントエンコーディングされる文字
| 文字 | エンコード結果 |
|---|---|
| %20 | |
| ! | %21 |
| # | %23 |
| $ | %24 |
| & | %26 |
| + | %2B |
| / | %2F |
| : | %3A |
| = | %3D |
| ? | %3F |
| @ | %40 |
| é | %C3%A9 |
| 中 | %E4%B8%AD |
| 😀 | %F0%9F%98%80 |
// コードでのURLエンコード
JavaScript encodeURIComponent(s) Python urllib.parse.quote(s, safe='') PHP rawurlencode($s) Go url.QueryEscape(s) Java URLEncoder.encode(s, StandardCharsets.UTF_8) curl curl --data-urlencode "q=hello world" URL
>> その他の質問
Q: encodeURIとencodeURIComponentの違いは?
A: encodeURI はURL全体をエンコードし、: / ? # & = のような構造上の文字はそのまま残します。encodeURIComponent は一部分(パラメータ値など)をエンコードし、これらの文字もエスケープします。クエリ値にはほぼ常に encodeURIComponent を使います。
Q: 中文やéが複数の%グループになるのはなぜですか?
A: URLが運ぶのはバイト列です。文字はまずUTF-8でエンコードされ(é は2バイト、中 は3バイト、絵文字は4バイト)、各バイトが %XX と書かれます。例:é → %C3%A9。
Q: 二重エンコード(%2520)とは?
A: すでにエンコードされた文字列を再度エンコードすると、% が %25 になり、%20 は %2520 になります。通常は誤りです。URLを組み立てる際に、各値を一度だけエンコードしてください。