RFC 2396によると、
プラス「+」、ドル「$」、およびコンマ「、」文字は
、クエリコンポーネント内で予約済みとして扱われるため、「予約済み」セットの文字に追加されました。
確かに、このサイトで「プラス+コンマ、ドル$」を検索すると、次のようになります。
https://stackoverflow.com/search?q=plus+%2B+comma+,+dollar+ $
Plusは、区切り文字として使用されていない場合にのみ(アプリケーションによって)エンコードされます。
しかし、他の人が観察しているように、.NETのUrlDecode
関数はプラスをスペースに変換します。この動作はどこで指定されていますか?