Tengo direcciones de correo electrónico codificadas con entidades de caracteres HTML. ¿Hay algo en .NET que pueda convertirlos en cadenas simples?¿Cómo puedo decodificar caracteres HTML en C#?
Respuesta
Puede utilizar HttpUtility.HtmlDecode
Si está utilizando .NET 4.0 o superior también se puede utilizar WebUtility.HtmlDecode
que no requiere una referencia de ensamblado extra, ya que está disponible en el espacio de nombres System.Net
.
Use Server.HtmlDecode
para decodificar las entidades HTML. Si desea escape el HTML, es decir, muestra el carácter <
y >
para el usuario, use Server.HtmlEncode
.
Puede que no haya un contexto servidor (es decir, cuando se ejecuta casos de prueba y similares) me quedé en este trampa antes :) –
Si no hay contexto de Servidor (es decir, su funcionamiento sin conexión), puede usar HttpUtility. HtmlDecode.
estuvo de acuerdo, por eso utilizo HttpUtility, cayeron en la misma trampa = P –
Como dice @CQ, necesita usar HttpUtility.HtmlDecode, pero no está disponible en un proyecto .NET no ASP por defecto.
Para una aplicación que no sea ASP .NET, debe agregar una referencia al System.Web.dll
. Haga clic derecho en su proyecto en el Explorador de soluciones, seleccione "Agregar referencia", luego explore la lista para System.Web.dll
.
Ahora que se añade la referencia, debe ser capaz de acceder el método que utiliza el nombre completo System.Web.HttpUtility.HtmlDecode
o insertar una declaración using
para System.Web
para facilitar las cosas.
En .Net 4.0:
System.Net.WebUtility.HtmlDecode()
No hay necesidad de incluir el montaje de un proyecto de C#
Es mejor solución, porque HttpUtility no decodifica el símbolo "'" .. no sé qué .. – RredCat
Esto es necesario en el desarrollo de Windows universal plataforma. – matthewsheets
También vale la pena mencionar que si usted está utilizando HtmlAgilityPack como yo, usted debe utilizar HtmlAgilityPack.HtmlEntity.DeEntitize()
. Toma un string
y devuelve un string
.
Para decodificar HTML echar un vistazo a continuación código
string s = "Svendborg Værft A/S";
string a = HttpUtility.HtmlDecode(s).ToString();
Response.Write(a);
de salida es como
Svendborg Værft A/S
'ToString()' es redundante ya que HtmlDecode devuelve una cadena – Justin
- 1. ¿Cómo puedo decodificar entidades HTML en C++?
- 2. ¿Cómo puedo decodificar entidades HTML?
- 3. Cómo decodificar entidades HTML en C?
- 4. Cómo decodificar entidades HTML numéricas en PHP
- 5. Decodificar entidades HTML en android
- 6. HttpUtility.ParseQueryString sin decodificar caracteres especiales
- 7. ¿Cómo decodificar caracteres XML especiales codificados en una cadena?
- 8. Cómo decodificar la entidad HTML con manubrios
- 9. Cómo decodificar URL en iOS - Objetivo C
- 10. Java: ¿cómo deshacer las entidades de caracteres HTML en Java?
- 11. Cómo decodificar mp3 en wav usando cojo en C/C++?
- 12. ¿Cómo decodificar una cadena JSON usando C#?
- 13. Cómo decodificar cadena a cadena XML en C#
- 14. ¿Cómo puedo decodificar una URL con jQuery?
- 15. Cómo decodificar la cadena en iphone
- 16. Cómo codificar/decodificar video usando C#?
- 17. Perl: utf8 :: decodificar vs. Codificar :: decodificar
- 18. ¿Cómo puedo usar Python para reemplazar caracteres de escape HTML?
- 19. WireShark - ¿Puedo decodificar datos UTF-8 en los paquetes?
- 20. Cómo decodificar OAuth 2.0 para Canvas signed_request en C#?
- 21. Cómo convertir caracteres HTML en PHPExcel?
- 22. Cómo codificar caracteres especiales en contenido html
- 23. ¿Cómo convertir caracteres especiales en entidades html?
- 24. ¿Cómo escapar caracteres especiales HTML en Java?
- 25. Límite de caracteres en HTML
- 26. Codificación HTML para caracteres franceses
- 27. Escape de caracteres HTML especiales en Python
- 28. Cómo decodificar google gclids
- 29. caracteres especiales en id de etiquetas html
- 30. ¿Cómo puedo quitar las etiquetas HTML en C#
Se supone que está en System.Web, pero no lo es. No he tocado C# durante más de un año, si me siento un poco más frustrado con esto, los convertiré manualmente. – Vasil
Está en la versión .NET 2.0 de System.Web –
Estoy usando exactamente 2.0, pero estoy escribiendo una aplicación de consola. – Vasil