== UTF-16 == ---- '''UTF-16'''是[[Unicode]]的其中一个使用方式。 UTF是 Unicode Translation Format,即把Unicode转做某种格式的意思。 它定义于[[ISO/IEC 10646-1]]的附录Q,而[[RFC2781]]也定义了相似的做法。 在Unicode基本多文种平面定义的[[字符]](无论是[[拉丁字母]]、[[汉字]]或其他[[文字]]或[[符号]]),一律使用2[[字节]]储存。而在辅助平面定义的字符,会以代理对(surrogate pair)的形式,以两个2字节的值来储存。 UTF-16比起[[UTF-8]],好处在于大部分字符都以固定长度的字节 (2字节) 储存,但UTF-16却无法兼容于[[ASCII]]编码。[[c#]]中默认的就是UTF-16,所以在处理c#字符串的时候只能是byte,stream等方式去处理 UTF-16根据每个码字两个字节的存储顺序分为[[UTF-16LE]]和[[UTF-16BE]]