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
转载于:https://blog.51cto.com/h2appy/178211