URLエンコード/デコードツール
このツールについて
使い方
- 「エンコード」タブ: 日本語や特殊文字を含むテキストを URL で使える形式に変換します
- 「デコード」タブ: エンコードされた文字列を元のテキストに戻します
URL エンコーディングとは
URL に直接使用できない文字 (日本語、スペース、一部の記号など) を %XX 形式に変換する仕組みです。パーセントエンコーディングとも呼ばれ、RFC 3986 で規定されています。
豆知識
なぜ URL エンコードが必要なのか
URL でエンコードせずにデータとして自由に使える文字は、RFC 3986 で定められた「非予約文字」(英数字と -._~) に限られます。 日本語やスペース、& や = などの特殊文字を URL に含めるには、 UTF-8 バイト列に変換した上で各バイトを %XX 形式に置き換える「パーセントエンコーディング」が必要です。
encodeURI と encodeURIComponent の違い
JavaScript には URL エンコード用の関数が2つあります。 encodeURI は URL 全体を対象とし、:/?# などの区切り文字はエンコードしません。 一方 encodeURIComponent はクエリパラメータの値など URL の一部を対象とし、 ほぼすべての特殊文字をエンコードします。 用途を間違えると URL が壊れる原因になります。
「%20」と「+」の違い
スペースの URL エンコードには %20 と + の2種類があります。 %20 は RFC 3986 に準拠した標準形式で、URL のパス部分に使用します。 + は HTML フォームの application/x-www-form-urlencoded 形式で使用される歴史的な表記です。 多くの Web サーバーはどちらも受け付けますが、仕様上は使い分ける必要があります。
参考リンク
- RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax
URI の公式仕様。パーセントエンコーディングの規則を定義
- encodeURIComponent() - JavaScript MDN
JavaScript の URL エンコード関数リファレンス (本ツールも利用)
- Percent-encoding - Wikipedia
パーセントエンコーディングの歴史と仕様概要
このツールの更新履歴
URL エンコード/デコードツールを公開