title: URL Encode all non alpha numeric in C#
body: <p>I need to fully URL Encode an email address.</p>
  
  <p>HttpUtility.UrlEncode seems to ignore certain characters such as ! and .</p>
  
  <p>I need to pass an email address in a url formated like this:</p>
  
  <pre><code>/Users/me@example.com/Comments
  </code></pre>
  
  <p>Because my WebMethod uri template looks like this:</p>
  
  <pre><code>[WebGet(UriTemplate = "Users/{emailAddress}/Comments")]
  </code></pre>
  
  <p>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.</p>
  
  <p>EDIT</p>
  
  <p>I had considered using: </p>
  
  <pre><code>Convert.ToBase64String(Encoding.ASCII.GetBytes("something+me@example.com"))
  </code></pre>
  
  <p>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.</p>