The EscapeDataString method converts all characters except for RFC 2396 unreserved characters to their hexadecimal representation. All Unicode characters are converted to UTF-8 format before being escaped.
This method assumes that stringToEscape has no escape sequences in it.
The string is escaped according to RFC 3986. See this RFC for a definition of reserved and unreserved characters.