【问题标题】:Missing Html Entities decoding support BY NAME in C# WPF for special letters/characters缺少 Html 实体解码支持 C# WPF 中的 BY NAME 用于特殊字母/字符
【发布时间】:2012-06-26 13:03:33
【问题描述】:

我在解码 HTML 实体时遇到问题。我都试过了

System.Net.WebUtility.HtmlDecode()

并希望这仅仅是因为这是 HttpUtilities 的轻量级版本,我已经尝试过

HttpUtility.HtmlDecode()

也是。

我的问题是我需要从实体名称解码,而不是实体编号。 (请参阅此列表http://www.w3schools.com/tags/ref_entities.asp

上述两种方法都解码实体编号,而不是实体名称。

【问题讨论】:

    标签: c# .net wpf html-entities


    【解决方案1】:

    我真的没有看到你的问题。如果我通过WebUtility.HtmlDecode 测试解码,您发布的链接中列出的所有实体名称都会被解码:

    var encoded = ""'&<>¡¢£¤" +
                  "¥¦§¨©ª«¬­®" +
                  "¯°±²³´µ¶·" +
                  "¸¹º»¼½¾¿" +
                  "×÷ÀÁÂÃÄÅ" +
                  "ÆÇÈÉÊËÌÍ" +
                  "ÎÏÐÑÒÓÔÕ" +
                  "ÖØÙÚÛÜÝÞ" +
                  "ßàáâãäåæ" +
                  "çèéêëìíî" +
                  "ïðñòóôõö" +
                  "øùúûüýþÿ";
    var expected = "\"'&<>¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿×÷ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓ" +
                    "ÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ";
    
    Console.WriteLine(System.Net.WebUtility.HtmlDecode(encoded) == expected);
    

    这个小sn-p产生真。

    谈到编码HtmlEncode 函数就是这样实现的。除了自己实施之外,您几乎无能为力,我不建议这样做(如果您真的不需要,请不要重新发明轮子)。另请参阅有关编码的 SO 问题:C# HtmlEncode - ISO-8859-1 Entity Names vs Numbers

    【讨论】:

      猜你喜欢
      • 2017-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-27
      • 2019-03-20
      • 1970-01-01
      • 2014-02-15
      相关资源
      最近更新 更多