如何在C#中解码HTML字符?

时间:2020-03-06 14:36:54  来源:igfitidea点击:

我有用HTML字符实体编码的电子邮件地址。 .NET中是否可以将它们转换为纯字符串?

解决方案

使用Server.HtmlDecode解码HTML实体。如果要转义HTML,即向用户显示<<和>字符,请使用Server.HtmlEncode

我们可以使用HttpUtility.HtmlDecode

如果我们使用的是.NET 4.0+,则也可以使用WebUtility.HtmlDecode,它不需要额外的程序集引用,因为它在System.Net名称空间中可用。

如果没有服务器上下文(即我们离线运行),则可以使用HttpUtility.HtmlDecode。

正如@CQ所说,我们需要使用HttpUtility.HtmlDecode,但是默认情况下,它在非ASP .NET项目中不可用。

对于非ASP .NET应用程序,我们需要添加对System.Web.dll的引用。在解决方案资源管理器中右键单击项目,选择"添加引用",然后浏览" System.Web.dll"的列表。

现在已经添加了引用,我们应该可以使用标准名称" System.Web.HttpUtility.HtmlDecode"访问该方法,或者为System.Web插入" using"语句以使事情变得更容易。

在.Net 4.0上:

System.Net.WebUtility.HtmlDecode()

无需包括Cproject的程序集