回答
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 == "大家好"
+1。提供您爲什麼需要IsSurrogatePair/ConvertToUtf32可能是個好主意。 –
簡而言之,.NET中的char是16位的數據類型,而字符串是char的序列。不過,大約有2^21個Unicode代碼點,所以不是所有的代碼點都可以存儲在一個'char'中。 0x10000以上的代碼點存儲爲兩個代理項「char」(「代理對」)。相比之下,HTML中的數字字符引用表示代碼點,因此在將字符串轉換爲HTML之前,必須先將「char」的序列轉換爲一系列代碼點。 – dtb
那麼你不需要兩個。你可以在循環體中檢查if(codepoint> 0xFFFF){i ++}'並且保持循環頭的標準。 – Esailija
有一個在焦炭類的功能使轉換一個字符(Unicode中我猜)成UTF-16 litera價值,我認爲它可以幫助你
public static int ConvertToUtf32(string s, int index)
而且referrence看到http://msdn.microsoft.com/en-us/library/z2ys180b.aspx
- 1. 將數字字符實體引用轉換爲可讀文本
- 2. 將文本從英文字符轉換成希伯來字符
- 3. 將文本字符串轉換爲HTML字符串
- 4. 將HTML轉換成在ROR文字
- 5. 將字符串(字母)從文本文本轉換爲整數
- 6. 將字符串轉換爲HTML文檔
- 7. 使用javascript將HTML字符實體轉換回普通文本
- 8. 使用Java標準庫將HTML字符轉換爲文本
- 9. 將html轉換爲文字
- 10. 將字符串轉換爲數字,生成不同的數字
- 11. 轉換文本字符串轉換成JSON格式 - 使用Javascript
- 12. 存儲用雙引號一個字轉換成字符數組
- 13. 使用iphone開發將HTML字符串轉換成普通文本
- 14. JSFL:將文本從文本字段轉換爲HTML格式字符串
- 15. 將字符串轉換成數值
- 16. 將字符串數組轉換成JSON
- 17. 將數字從字符串轉換爲Java中的文本
- 18. 如何將NULL的文本字符串轉換爲數字?
- 19. 將JSON HTML字符串轉換爲HTML
- 20. 將字符串轉換爲MAILTO的HTML就緒文本:URL
- 21. 將html字符轉換回Flash中的文本 - AS3
- 22. 將字符串轉換成字典
- 23. 將字符串轉換成字典
- 24. 在字符型腳本中將字符串/文本轉換爲字節數組
- 25. 將文本字符串轉換爲值
- 26. SQL - 將字符串轉換爲文本
- 27. 將html特殊字符轉換爲日文字符
- 28. .Net將字符串轉換爲HTML轉義字符的方法
- 29. CSS文本轉換字符
- 30. 將RTF字符串中的unicode字符轉換爲純文本
我需要睡眠......除此之外,您還提供的鏈接是404 – Lemurr
的可能的複製 - http://stackoverflow.com/ques tions/3571563/conversion-chinese-character-to-unicode –
這應該作爲一個副本而不是「不是真正的問題」來關閉(問題是真實的,雖然是隱含的)。 –