作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在解码 HTML 实体时遇到问题。我试过同时使用这两种方法
System.Net.WebUtility.HtmlDecode()
希望这仅仅是因为这是 HttpUtilities 的轻量级版本,我已经尝试过
HttpUtility.HtmlDecode()
还有。
我的问题是我需要从实体名称而不是实体编号进行解码。(查看此列表 http://www.w3schools.com/tags/ref_entities.asp)
上述两种方法解码实体编号,而不是实体名称。
最佳答案
我真的不明白你的问题。如果我通过 WebUtility.HtmlDecode
测试解码,您发布的链接中列出的所有实体名称都会被解码:
var encoded = ""'&<>¡¢£¤" +
"¥¦§¨©ª«¬­®" +
"¯°±²³´µ¶·" +
"¸¹º»¼½¾¿" +
"×÷ÀÁÂÃÄÅ" +
"ÆÇÈÉÊËÌÍ" +
"ÎÏÐÑÒÓÔÕ" +
"ÖØÙÚÛÜÝÞ" +
"ßàáâãäåæ" +
"çèéêëìíî" +
"ïðñòóôõö" +
"øùúûüýþÿ";
var expected = "\"'&<>¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿×÷ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓ" +
"ÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ";
Console.WriteLine(System.Net.WebUtility.HtmlDecode(encoded) == expected);
这个小片段产生了 true。
当谈到编码时:HtmlEncode
函数就是按照这种方式实现的。你对此无能为力,除了自己实现,我不推荐这样做(如果你真的不需要,不要重新发明轮子)。另请参阅有关编码的 SO 问题:C# HtmlEncode - ISO-8859-1 Entity Names vs Numbers
关于c# - 缺少 Html 实体解码支持 BY C# WPF 中的特殊字母/字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11207911/
我是一名优秀的程序员,十分优秀!