Returns a string in which all non-alphanumeric characters except -_.~ have been replaced with a percent (%) sign followed by two hex digits spaces are encoded as %20 
For spaces encoded as + signs  use urlencode