谷歌浏览器会自动将 URL 中的 unicode 字符串转换成这样的东西;
?querystring=مقالات
?querystring=%D9%85%D9%82%D8%A7%D9%84%D8%A7%D8%AA
我的问题是如何解码代码中的编码文本以进行比较?
if (Request.Url.Query == "?querystring=مقالات")
//do something
谷歌浏览器会自动将 URL 中的 unicode 字符串转换成这样的东西;
?querystring=مقالات
?querystring=%D9%85%D9%82%D8%A7%D9%84%D8%A7%D8%AA
我的问题是如何解码代码中的编码文本以进行比较?
if (Request.Url.Query == "?querystring=مقالات")
//do something
看看这些:)
Console.WriteLine(System.Web.HttpUtility.UrlDecode("http://www.google.com/search?q=مقالات"));
Console.WriteLine(System.Web.HttpUtility.UrlEncode("http://www.google.com/search?q=%D9%85%D9%82%D8%A7%D9%84%D8%A7%D8%AA"));
URL 编码确保所有浏览器都能正确传输 URL 字符串中的文本。
问号(?)、与号(&)、斜线(/)和空格等字符可能会被某些浏览器截断或损坏。因此,这些字符必须在标签或查询字符串中编码,其中字符串可以由浏览器在请求字符串中重新发送。
UrlDecode
HttpUtility.UrlDecode
是在运行时从 ASP.NET 应用程序访问该方法的便捷方式。在内部,UrlDecode
用于HttpUtility.UrlDecode
解码字符串。
以下示例将名为 EncodedString 的字符串(在 URL 中接收)解码为名为 DecodedString 的字符串:
String DecodedString = Server.UrlDecode(EncodedString);