remove - ¿Cómo puedo decodificar caracteres HTML en C#?
utf 8 decode c# (9)
Como dice @CQ, debe usar HttpUtility.HtmlDecode , pero no está disponible en un proyecto que no sea ASP .NET de forma predeterminada.
Para una aplicación que no sea ASP .NET, debe agregar una referencia a System.Web.dll
. Haga clic con el botón derecho en su proyecto en el Explorador de soluciones, seleccione "Agregar referencia" y luego busque la lista de System.Web.dll
.
Ahora que se agregó la referencia, debería poder acceder al método utilizando el nombre completo System.Web.HttpUtility.HtmlDecode
o insertar una declaración de using
para System.Web
para facilitar las cosas.
Tengo direcciones de correo codificadas con entidades de caracteres HTML. ¿Hay algo en .NET que pueda convertirlos en cadenas simples?
En .Net 4.0:
System.Net.WebUtility.HtmlDecode()
No es necesario incluir el montaje para un proyecto de C #
Escriba un método estático en alguna clase de utilidad, que acepte una cadena como parámetro y devuelva la cadena html descodificada.
Incluya el using System.Web.HttpUtility
en su clase
public static string HtmlEncode(string text)
{
if(text.length > 0){
return HttpUtility.HtmlDecode(text);
}else{
return text;
}
}
Para .net 4.0
Agregue una referencia a System.net.dll
al proyecto using System.Net;
luego usa las siguientes extensiones
// Html encode/decode
public static string HtmDecode(this string htmlEncodedString)
{
if(htmlEncodedString.Length > 0)
{
return System.Net.WebUtility.HtmlDecode(htmlEncodedString);
}
else
{
return htmlEncodedString;
}
}
public static string HtmEncode(this string htmlDecodedString)
{
if(htmlDecodedString.Length > 0)
{
return System.Net.WebUtility.HtmlEncode(htmlDecodedString);
}
else
{
return htmlDecodedString;
}
}
Para decodificar HTML eche un vistazo debajo del código
string s = "Svendborg Værft A/S";
string a = HttpUtility.HtmlDecode(s).ToString();
Response.Write(a);
La salida es como
Svendborg Værft A/S
Si no hay un contexto de servidor (es decir, si se ejecuta sin conexión), puede usar HttpUtility . HttpUtility.HtmlDecode .
También vale la pena mencionar que si está utilizando HtmlAgilityPack como lo estaba yo, debería usar HtmlAgilityPack.HtmlEntity.DeEntitize()
. Toma una string
y devuelve una string
.
Use Server.HtmlDecode
para decodificar las entidades HTML. Si desea escapar del HTML, es decir, mostrar el carácter <
y >
al usuario, use Server.HtmlEncode
.
Puedes usar HttpUtility.HtmlDecode
Si está utilizando .NET 4.0+, también puede usar WebUtility.HtmlDecode
que no requiere una referencia de ensamblaje adicional, ya que está disponible en el espacio de nombres de System.Net
.