解码HTML 5个字符集

Decode HTML 5 Character set

我无法在我的 c# 代码中解码以下 HTMl 5 代码 10:00 AM,在使用 HttpUtility.HtmlDecode("10:00 AM"); 之后,我得到相同的输出而不是连续输出“10:00 AM ".

然而,当我使用其他 HTML 字符集如 &> 时,HttpUtility.HtmlDecode 给出了所需的输出,有没有办法解码 HTML5个字符集在c#

我也尝试过 System.Net.WebUtility.HtmlDecodeSystem.Uri.UnescapeDataString 但输出相同

因为 by Svein 这是 .NET Framework 不支持 HTML5 实体的问题。

由于 .NET Framework 已经开源,您可以检查代码并更改它以反映必要的更改,如 someone did already。如果您查看该拉取请求,就会发现问题所在:HTML4 实体和 HTML5 实体之间存在重大变更,但他们未就如何修复达成一致。这仅仅意味着 .NET Framework 将不支持 HTML5 实体,直到做出设计决定。

对于您来说,与此同时,您可以获取 the diff 提交,并创建您自己的 HTML5 实体解析器(这只是一个字符串替换和一些字典查找)。

创建了自定义解码器https://github.com/rolwincrasta/HTML5Decode

引用https://github.com/dotnet/corefx/pull/13152