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

时间:2013-04-13 03:35:27

标签: c# html unicode

我需要在C#中将中文转换为Unicode,类似于this converter。例如

"大家好" -> "大家好"

2 个答案:

答案 0 :(得分:3)

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;"

答案 1 :(得分:0)

char 类中有一个函数可以将char(我猜的unicode)转换为utf-16 litera值,我认为它可以帮到你

public static int ConvertToUtf32(string s, int index)

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