Кодировка HTML в библиотеке классов.NET
У меня есть служебный класс для отправки писем. Письма генерируются как HTML.
У меня проблемы с кодированием специальных символов, которые отображаются неправильно.
Тем не менее, я не могу понять, как использовать HtmlEncode
как у меня нет тока HttpContext
, Есть ли .Net
класс, который будет переводить специальные символы в HTML-коды без запуска под Asp.Net
?
Надеюсь, это имеет смысл, я немного расстроен тем, как все это работает. Спасибо!
5 ответов
Вы можете импортировать пространство имен System.Web и использовать класс HttpUtility. Хотя это веб-сборка, я не думаю, что для ее работы необходимо работать в веб-среде.
Я верю System.Net.WebUtility.HtmlEncode
обеспечит эту функциональность. Ссылка MSDN для WebUtility.HTMLEncode
Вы должны действительно изучить использование AntiXSS
библиотека WPL.
Вам не нужен System.Web!
Он использует принцип включения в белый список (кодировка System.Web использует черный список). Только символам, которые, как известно, безопасны, будут доверять, и все другие будут должным образом закодированы