I want its output as uppercase. This is what I get on Server.UrlEncode(\"http://\")
:
http%3a%2f%2f
but I need:
<
This is very easy
Regex.Replace( encodedString, @"%[a-f\d]{2}", m => m.Value.ToUpper() )
I.e. replace all hex letter-digit combinations to upper case
Uri.EscapeDataString("http://")
This code return
http%3A%2F%2F
Assuming "http" is always the first four characters then you simply split the string after "http", UrlEncode
that part and then call ToUpper()
on it. Then join back together with "http" as your prefix.
This will uppercase all escaped characters in your string.
string url = "http://whatever.com/something";
string lower = Server.UrlEncode(url);
Regex reg = new Regex(@"%[a-f0-9]{2}");
string upper = reg.Replace(lower, m => m.Value.ToUpperInvariant());
I encountered the same problem, I found the answer in this link:
WebUtility.UrlEncode or HttpUtility.UrlEncode
in-short you can use:
System.Net.WebUtility.UrlEncode
which encodes into uppercase hex values