Расшифровать набор символов HTML 5
Я не могу декодировать следующий код HTMl 5 10:00 AM
в моем коде C#, после использования HttpUtility.HtmlDecode("10:00 AM");
я получаю тот же вывод вместо серийного вывода "10:00 утра".
Однако, когда я использую другие наборы символов HTML, такие как &
или же >
затем HttpUtility.HtmlDecode
дает желаемый вывод, есть ли способ декодировать наборы символов HTML5 в C#
Я также пытался с System.Net.WebUtility.HtmlDecode
, System.Uri.UnescapeDataString
пока тот же вывод
2 ответа
Как прокомментировал Svein Terje Gaup, эта проблема связана с тем, что.NET Framework не поддерживает сущности HTML5.
Поскольку.NET Framework стал открытым исходным кодом, вы можете проверить код и изменить его, чтобы отразить необходимые изменения, как кто-то уже сделал. Если вы проверите этот запрос извлечения, вы увидите проблему: между сущностями HTML4 и сущностями HTML5 произошли серьезные изменения, которые они не договорились о том, как их исправить. Это просто означает, что.NET Framework не будет поддерживать сущности HTML5, пока не будет принято проектное решение.
Тем временем вы можете взять разность коммитов и создать свой собственный анализатор сущностей HTML5 (который представляет собой просто замену строки и некоторый поиск по словарю).
Создан пользовательский декодер https://github.com/rolwincrasta/HTML5Decode