2013-05-06 88 views
3

谷歌浏览器会自动将URL中的unicode字符串转换为这样的内容;如何解码谷歌浏览器中的编码网址?

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

我的问题是如何解码代码中的编码文本为比较的目的?

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

回答

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")); 
+0

感谢很多:)这一个工作:System.Web.HttpUtility.UrlDecode – Kardo 2013-05-06 10:47:56

+0

确保你接受应该被接受的答案。我也遇到了这一个,这似乎你应该接受:http://stackoverflow.com/questions/15897944/why-newly-created-functions-can-not-be-found-by-sql-server – SimpleVar 2013-05-06 11:03:14

+0

谢谢提醒旧帖子不被接受。事实上,在测试发布的回复和接受测试之间的5分钟延迟导致我忘记了它;) – Kardo 2013-05-06 11:58:45

1

URL编码可确保所有浏览器将正确的URL字符串传递文本。

字符如问号(?),符号(&),斜杠(/)和空间可能会被某些浏览器被截断或损坏。因此,这些字符必须以标记或查询字符串编码,其中字符串可以由浏览器在请求字符串中重新发送。

UrlDecode是一种方便的方式,可以在运行时从ASP.NET应用程序访问HttpUtility.UrlDecode方法。在内部,UrlDecode使用HttpUtility.UrlDecode来解码字符串。

下面的例子命名EncodedString字符串(以URL接收)到字符串名为DecodedString解码:

String DecodedString = Server.UrlDecode(EncodedString);