Char类型内部使用16位二进制存储数据。这就是说Char最多只能存储65536个字符。汉字的数量就远远超出了这个数目。那怎么办?代理对(surrogate pair)解决这个问题。
在.net中使用
在.net中使用
\Uxxxxxxx即可,注意是大写的U。
Char的几个静态方法:
ConvertToUtf32、
ConvertFromUtf32、
IsHighSurrogate、
IsLowSurrogate
System.Text中的几个类:
UnicodeEncoding、UTF8Encoding、UTF32Encoding
另外可以参考:
http://msdn.microsoft.com/zh-cn/library/system.char.converttoutf32.aspx
http://msdn.microsoft.com/zh-cn/library/xcwwfbb8.aspx
http://www.yoda.arachsys.com/csharp/faq/#escapes
本文转自 h2appy 51CTO博客,原文链接:http://blog.51cto.com/h2appy/178211,如需转载请自行联系原作者