How to URL encode strings in C#
Uri.EscapeDataString
does what you want. See MSDN.
According to RFC 1738:
Thus, only alphanumerics, the special characters "$-_.+!*'(),", and reserved characters used for their reserved purposes may be used unencoded within a URL.
Neither HttpUtility.UrlEncode
nor WebUtility.UrlEncode
will encode those characters since the standard says the parentheses ()
can be used unencoded.
I don't know why the URL Encoder / Decoder you linked encodes them since it also lists them as as a character that can be used in a URL.