4

我觉得这很令人惊讶,也很烦人。

例子:

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();
}
4

1 回答 1

9
于 2013-04-17T10:45:35.557 回答