将文本转换为HTML的数字字符引用



我需要在c#中将中文转换为Unicode,类似于此转换器。例如

"大家好" -> "大家好"
string input = "大家好";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < input.Length; i += char.IsSurrogatePair(input, i) ? 2 : 1)
{
    int codepoint = char.ConvertToUtf32(input, i);
    sb.Append('&').Append('#').Append(codepoint).Append(';');
}
var result = sb.ToString();
// result == "&#22823;&#23478;&#22909;"

char类中有一个函数可以将字符(在unicode中我猜)转换为utf-16文字值,我认为它可能会对您有所帮助

public static int ConvertToUtf32(string s, int index)

进一步参考参见http://msdn.microsoft.com/en-us/library/z2ys180b.aspx

最新更新