2013-05-06 413 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);