Search code examples
c#encodingurl-encoding

How to URL encode strings in C#


How can we encode a string using the URL (RFC 1738) standard in C#?

The following online tool is converting the strings using this standard http://www.freeformatter.com/url-encoder.html

An example of the string I want to convert is test(brackets) and the encoded string should look like:

test%28brackets%29

Solution

  • 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.