URL エンコード/デコード

URL パーセントエンコーディング。エンコードとデコード。日本語文字に対応

文字数: {{ inputText.length }} バイト数: {{ byteCount }}
{{ errorMsg }}

URL エンコードについて

URL エンコード(パーセントエンコーディングとも呼ばれます)は、URL 内の特殊文字を % と 2 桁の 16 進数に変換する仕組みです。RFC 3986 により、URL に含められるのは ASCII 文字の一部のみで、それ以外の文字(日本語や空白、特殊記号など)はエンコードする必要があります。

JavaScript の encodeURIComponent() は URL のクエリパラメータをエンコードします。これは A-Z a-z 0-9 - _ . ! ~ * ' ( ) 以外のすべての文字をエンコードします。encodeURI() は URL の構造文字(: / ? # & = など)をそのまま残します。

URL エンコードの主な用途:AJAX リクエストのパラメータエンコード、URL パス内の日本語の処理、OAuth 署名のパラメータエンコードなど。

入力: こんにちは、世界 → 出力: %E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%E4%B8%96%E7%95%8C

入力: hello world! → 出力: hello%20world!

よくある質問

Q: encodeURIComponent と encodeURI の違いは?
A: encodeURI は URL の構造文字(:/?#&=+@$)をエンコードせず、完全な URL をエンコードするのに適しています。encodeURIComponent はより多くの文字をエンコードし、クエリパラメータの値をエンコードするのに適しています。本ツールは encodeURIComponent を使用します。
Q: 空白は %20 と + のどちらでエンコードされますか?
A: encodeURIComponent は空白を %20 にエンコードします。application/x-www-form-urlencoded 形式(フォーム送信など)では空白は + にエンコードされます。いずれも有効です。
Q: 「すべてエンコード」モードとは?
A: すべてエンコードモードは、入力のすべての文字(ASCII の英数字も含む)を %XX 形式に変換します。URL の内容を完全に隠したいような特殊な場合に便利です。