如何解码谷歌浏览器中的编码URL?

时间:2013-05-06 10:37:34

标签: c# asp.net google-chrome decoding

Google Chrome会自动将网址中的unicode字符串转换为类似的内容;

?querystring=مقالات
?querystring=%D9%85%D9%82%D8%A7%D9%84%D8%A7%D8%AA

我的问题是如何解码代码中的编码文本,例如用于比较目的?

if (Request.Url.Query == "?querystring=مقالات")
    //do something

2 个答案:

答案 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);