&
是一個HTML實體,當文字被編碼成HTML,因爲你要「逃離」已在HTML特殊含義&
使用。顯然,這個轉義機制被用在URL上,可能是因爲它在某些HTML中用於鏈接。我不知道你爲什麼要解碼它,因爲瀏覽器會在點擊鏈接時進行正確的解碼。但無論如何,要恢復它,你可以在System.Web
命名空間中使用HttpUtility.HtmlDecode
:
var encoded = "http://www.someurl.com/profile.php?mode=register&agreed=true";
var decoded = HttpUtility.HtmlDecode(encoded);
的decoded
值是:
http://www.someurl.com/profile.php?mode=register&agreed=true
編碼的另一種形式/用於解碼URL編碼。這用於在URL的一部分中包含特殊字符。例如,字符/
,?
和&
在URL中具有特殊含義。如果您需要在查詢參數中包含任何這些字符,您必須對該參數進行URL編碼,以避免弄亂URL。下面是一個URL的例子,其中URL轉義已使用:
http://www.someurl.com/profile.php?company=Barnes+%26+Noble
公司名稱Barnes & Noble
被編碼爲Barnes+%26+Noble
。如果&
尚未轉義,則該URL將不包含一個而是兩個查詢參數,因爲&
用作查詢參數之間的分隔符。
URL編碼與HTML編碼完全不同,因爲它被標記爲重複的。標記爲重新打開。 – Deestan