I need to fully URL Encode an email address.
HttpUtility.UrlEncode seems to ignore certain characters such as ! and .
I need to pass an email address in a url formated like this:
/Users/[email protected]/Comments
Because my WebMethod uri template looks like this:
[WebGet(UriTemplate = "Users/{emailAddress}/Comments")]
The period breaks WCF and will not pass the email address to my REST webservice method. Removing the period passes the value just fine. I'm hoping there is a method which will encode all non alpha numeric characters since everything consuming this service will need to do this.
EDIT
I had considered using:
Convert.ToBase64String(Encoding.ASCII.GetBytes("[email protected]"))
Do most other languages have easy ways to convert a string to base64? My main concern is that our customers who consume this service will need to encode the email address using Java, PHP, Ruby, etc.