我觉得这很令人惊讶,也很烦人。
例子:
Decode(”) => ”
Encode(”) => ”
相关类:
.NET 4: System.Net.WebUtility
.NET 3.5: System.Web.HttpUtility
我可以理解网页可以是 Unicode,但在我的情况下,输出不能是 UTF8。
有没有什么东西(可能是 HtmlWriter 类)可以做到这一点而无需我重新发明轮子?
替代解决方案:
string HtmlUnicodeEncode(string input)
{
var sb = new StringBuilder();
foreach (var c in input)
{
if (c > 127)
{
sb.AppendFormat("&#x{0:X4};", (int)c);
}
else
{
sb.Append(c);
}
}
return sb.ToString();
}