我有用HTML字符实体编码的电子邮件地址。.NET中有什么东西可以将它们转换为普通字符串吗?


当前回答

你可以使用HttpUtility。HtmlDecode

如果你使用的是。net 4.0+,你也可以使用WebUtility。HtmlDecode不需要额外的程序集引用,因为它在系统中可用。网络名称空间。

其他回答

在。net 4.0上:

System.Net.WebUtility.HtmlDecode()

c#项目不需要包含程序集

将static方法写入某个实用程序类,该实用程序类接受string作为参数并返回解码后的html字符串。

在你的类中包含使用System.Web.HttpUtility

public static string HtmlEncode(string text)
    {
        if(text.length > 0){

           return HttpUtility.HtmlDecode(text);
        }else{

         return text;
        }

    }

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

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

现在已经添加了引用,您应该能够使用完全限定名System. web . httputiliti . htmldecode访问方法,或者为System插入using语句。Web使事情变得更容易。

对于包含&#x20的字符串;我必须对字符串进行双重解码。第一次解码将把它转换成第二遍将正确地解码为预期的字符。

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