Unescape selected chars for compatability with JavaScript's encodeURI.
In speed critical applications this could be dropped since the
receiving application will certainly decode these fine.
Note that this function is case-sensitive. Thus "%3F" would not be
unescaped. But this is ok because it is only called with the output of
HttpUtility.UrlEncode which returns lowercase hex.
Unescape selected chars for compatability with JavaScript's encodeURI. In speed critical applications this could be dropped since the receiving application will certainly decode these fine. Note that this function is case-sensitive. Thus "%3F" would not be unescaped. But this is ok because it is only called with the output of HttpUtility.UrlEncode which returns lowercase hex.