新闻资讯
看你所看,想你所想

UTF-16

UTF-16

UTF-16

UTF-16是Unicode字元编码五层次模型的第三层:字元编码表(Character Encoding Form,也称为 "storage format")的一种实现方式。即把Unicode字元集的抽象码位映射为16位长的整数(即码元)的序列,用于数据存储或传递。Unicode字元的码位,需要1个或者2个16位长的码元来表示,因此这是一个变长表示。

基本介绍

  • 中文名:UTF-16
  • 解释:Unicode字元编码五层次模型 
  • 定义于 : ISO/IEC 10646-1的附录Q
  •  在用形式:UTF-16的大尾序和小尾序 

简介

UTF-16是Unicode的其中一个使用方式。 UTF是 Unicode TransferFormat,即把Unicode转做某种格式的意思。
它定义于ISO/IEC 10646-1的附录Q,而RFC2781也定义了相似的做法。
在Unicode基本多文种平面定义的字元(无论是拉丁字母、汉字或其他文字或符号),一律使用2位元组储存。而在辅助平面定义的字元,会以代理对(surrogate pair)的形式,以两个2位元组的值来储存。
UTF-16比起UTF-8,好处在于大部分字元都以固定长度的位元组 (2位元组) 储存,但UTF-16却无法兼容于ASCII编码。

编码模式

UTF-16的大尾序和小尾序储存形式都在用。一般来说,以Macintosh製作或储存的文字使用大尾序格式,以Microsoft或Linux製作或储存的文字使用小尾序格式。
为了弄清楚UTF-16档案的大小尾序,在UTF-16档案的开首,都会放置一个U+FEFF字元作为Byte Order Mark(UTF-16LE以FF FE代表,UTF-16BE以FE FF代表),以显示这个文字档案是以UTF-16编码,其中U+FEFF字元在UNICODE中代表的意义是ZERO WIDTH NO-BREAK SPACE,顾名思义,它是个没有宽度也没有断字的空白。

相关联繫

UTF-16与UCS-2的关係
UTF-16可看成是UCS-2的父集。在没有辅助平面字元(surrogate code points)前,UTF-16与UCS-2所指的是同一的意思。但当引入辅助平面字元后,就称为UTF-16了。现在若有软体声称自己支援UCS-2编码,那其实是暗指它不能支援在UTF-16中超过2bytes的字集。对于小于0x10000的UCS码,UTF-16编码就等于UCS码。

转载请注明出处海之美文 » UTF-16

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com