&
jest podmiotem HTML i jest stosowany, gdy tekst jest kodowany w formacie HTML, ponieważ masz do „ucieczki” z &
że ma specjalne znaczenie w HTML. Wygląda na to, że ten mechanizm ucieczki został użyty pod adresem URL prawdopodobnie dlatego, że jest używany w jakimś kodzie HTML, na przykład w łączu. Nie wiem, dlaczego chcesz ją odkodować, ponieważ przeglądarka zrobi odpowiednie dekodowanie po kliknięciu łącza. Ale mimo to, aby go przywrócić można użyć HttpUtility.HtmlDecode
w przestrzeni nazw System.Web
:
var encoded = "http://www.someurl.com/profile.php?mode=register&agreed=true";
var decoded = HttpUtility.HtmlDecode(encoded);
Wartość decoded
jest:
http://www.someurl.com/profile.php?mode=register&agreed=true
Inną formą kodowania/dekodowania używane jest kodowanie URL. Umożliwia to umieszczanie znaków specjalnych w częściach adresu URL. Na przykład znaki /
, ?
i &
mają specjalne znaczenie w adresie URL. Jeśli musisz uwzględnić któryś z tych znaków w parametrze zapytania, musisz zakodować kod URL, aby nie zepsuł adresu URL. Oto przykład adresu URL, gdzie został użyty URL Cytowanie:
http://www.someurl.com/profile.php?company=Barnes+%26+Noble
Firma nazwa Barnes & Noble
został zakodowany jako Barnes+%26+Noble
. Jeśli zmienna &
nie została zmieniona, adres URL nie zawierałby jednego, ale dwóch parametrów zapytania, ponieważ &
jest używany jako ogranicznik między parametrami zapytania.
Kodowanie adresu URL różni się całkowicie od kodowania HTML, ponieważ jest oznaczone jako duplikat. Oznaczone do ponownego otwarcia. – Deestan