&
est une entité HTML et est utilisé lorsque le texte est codé en HTML parce que vous devez « échapper » la &
qui a une signification particulière en HTML. Apparemment, ce mécanisme d'échappement a été utilisé sur l'URL sans doute parce qu'il est utilisé dans un code HTML, par exemple dans un lien. Je ne sais pas pourquoi vous voulez le décoder parce que le navigateur fera le décodage approprié quand le lien est cliqué. Mais de toute façon, de revenir, il vous pouvez utiliser HttpUtility.HtmlDecode
dans l'espace System.Web
:
var encoded = "http://www.someurl.com/profile.php?mode=register&agreed=true";
var decoded = HttpUtility.HtmlDecode(encoded);
La valeur de decoded
est:
http://www.someurl.com/profile.php?mode=register&agreed=true
Une autre forme de codage/décodage utilisé est le codage URL. Ceci est utilisé pour pouvoir inclure des caractères spéciaux dans certaines parties de l'URL. Par exemple, les caractères /
, ?
et &
ont une signification spéciale dans une URL. Si vous devez inclure l'un de ces caractères dans un paramètre de requête, vous devrez encoder le paramètre URL pour ne pas endommager l'URL. Voici un exemple d'une URL où se échappe URL a été utilisé:
http://www.someurl.com/profile.php?company=Barnes+%26+Noble
Le nom de l'entreprise Barnes & Noble
a été codé comme Barnes+%26+Noble
. Si le &
n'avait pas été échappé, l'URL aurait contenu non pas un mais deux paramètres de requête car &
est utilisé comme délimiteur entre les paramètres de requête.
Le codage d'URL est complètement différent du codage HTML, car il s'agit d'un doublon marqué. Marqué pour rouvrir. – Deestan