&
es una entidad HTML y se utiliza cuando el texto se codifica en HTML porque hay que "escapar" del &
que tiene un significado especial en HTML. Aparentemente, este mecanismo de escape se usó en la URL presumiblemente porque se usa en algunos HTML, por ejemplo, en un enlace. No estoy seguro de por qué quieres decodificarlo porque el navegador hará la descodificación adecuada cuando se haga clic en el enlace. Pero de todos modos, para revertir lo puede utilizar en el HttpUtility.HtmlDecode
System.Web
espacio de nombres:
var encoded = "http://www.someurl.com/profile.php?mode=register&agreed=true";
var decoded = HttpUtility.HtmlDecode(encoded);
El valor de decoded
es:
http://www.someurl.com/profile.php?mode=register&agreed=true
Otra forma de codificación/decodificación utilizado es la codificación URL. Esto se usa para poder incluir caracteres especiales en partes de la URL. Por ejemplo, los caracteres /
, ?
y &
tienen un significado especial en una URL. Si necesita incluir alguno de estos caracteres en un parámetro de búsqueda, por ejemplo, deberá codificar el parámetro URL para no dañar la URL. Aquí está un ejemplo de una URL en la que el escape de URL se ha utilizado:
http://www.someurl.com/profile.php?company=Barnes+%26+Noble
La compañía Nombre Barnes & Noble
se codifica como Barnes+%26+Noble
. Si no se hubiera escapado el &
, la URL no habría contenido uno sino dos parámetros de consulta porque &
se usa como un delimitador entre los parámetros de consulta.
La codificación URL es completamente diferente de la codificación HTML, ya que está marcada como duplicada. Marcado para reabrir – Deestan