Google Chrome会自动将网址中的unicode字符串转换为类似的内容;
?querystring=مقالات
?querystring=%D9%85%D9%82%D8%A7%D9%84%D8%A7%D8%AA
我的问题是如何解码代码中的编码文本,例如用于比较目的?
if (Request.Url.Query == "?querystring=مقالات")
//do something
答案 0 :(得分:2)
检查这些:)
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"));
答案 1 :(得分:1)
网址编码可确保所有浏览器都能正确传输网址字符串中的文字。
问号(?),&符号(&),斜杠标记(/)和空格等字符可能是某些浏览器被截断或损坏。因此,这些字符必须编码在标签或查询字符串中,其中字符串可以由浏览器在请求字符串中重新发送。
UrlDecode
是一种在ASP.NET应用程序中运行时访问HttpUtility.UrlDecode
方法的便捷方法。在内部,UrlDecode
使用HttpUtility.UrlDecode
来解码字符串。
以下示例将名为EncodedString(在URL中接收)的字符串解码为名为DecodedString的字符串:
String DecodedString = Server.UrlDecode(EncodedString);