unicode编码,简要解释ucs、utf、b

unicode编码,简要解释ucs、utf、b

ID:30363279

大小:89.49 KB

页数:14页

时间:2018-12-29

unicode编码,简要解释ucs、utf、b_第1页
unicode编码,简要解释ucs、utf、b_第2页
unicode编码,简要解释ucs、utf、b_第3页
unicode编码,简要解释ucs、utf、b_第4页
unicode编码,简要解释ucs、utf、b_第5页
资源描述:

《unicode编码,简要解释ucs、utf、b》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Unicode编码,简要解释UCS、UTF、BMP、Unicode编码,简要解释UCS、UTF、BMP、BOM等名词(一)2011-07-1621:02谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词、ucs-2、ucs-4、utf-16、utf-32、utf-8是为整合全世界的所有语言文字而诞生的。任何文字在Unicode中都对应一个值,这个值称为代码点(codepoint)。代码点的值通常写成U+ABCD的格式。而文字和代码点之间的对应关系就是UCS-2(UniversalCharacterSetcodedi

2、n2octets)。顾名思义,UCS-2是用两个字节来表示代码点,其取值范围为U+0000~U+FFFF。为了能表示更多的文字,人们又提出了UCS-4,即用四个字节表示代码点。它的范围为U+00000000~U+7FFFFFFF,其中U+00000000~U+0000FFFF和UCS-2是一样的。要注意,UCS-2和UCS-4只规定了代码点和文字之间的对应关系,并没有规定代码点在计算机中如何存储。规定存储方式的称为UTF(UnicodeTransformationFormat),其中应用较多的就是UTF-16和UTF-8了。不难猜到

3、,UTF-16是完全对应于UCS-2的,即把UCS-2规定的代码点通过BigEndian或LittleEndian方式直接保存下来。UTF-16包括三种:UTF-16,UTF-16BE(BigEndian),UTF-16LE(LittleEndian)。UTF-16BE和UTF-16LE不难理解,而UTF-16就需要通过在文件开头以名为BOM(ByteOrderMark)的字符来表明文件是BigEndian还是LittleEndian。"ABC"这三个字符用各种方式编码后的结果如下:UTF-16BE004100420043UTF-1

4、6LE410042004300UTF-16(BigEndian)FEFF004100420043UTF-16(LittleEndian)FFFE410042004300UTF-16(不带BOM)004100420043Windows平台下默认的Unicode编码为LittleEndian的UTF-16(即上述的FFFE410042004300)。UTF-16还能表示一部分的UCS-4代码点--U+10000~U+10FFFF。表示算法比较复杂,简单说明如下:从代码点U中减去0x10000,得到U'。这样U+10000~U+10FFF

5、F就变成了0x00000~0xFFFFF。用20位二进制数表示U'。U'=yyyyyyyyyyxxxxxxxxxx将前10位和后10位用W1和W2表示,W1=110110yyyyyyyyyy,W2=110111xxxxxxxxxx,则W1=D800~DBFF,W2=DC00~DFFF。但是由于这种算法的存在,造成UCS-2中的U+D800~U+DFFF变成了无定义的字符UTF-32UTF-32用四个字节表示代码点,这样就可以完全表示UCS-4的所有代码点,而无需像UTF-16那样使用复杂的算法。与UTF-16类似,UTF-32也包括

6、UTF-32、UTF-32BE、UTF-32LE三种编码,UTF-32也同样需要BOM字符。仅用'ABC'举例:UTF-32BE000000410000004200000043UTF-32LE410000004200000043000000UTF-32(BigEndian)0000FEFF000000410000004200000043UTF-32(LittleEndian)FFFE0000410000004200000043000000UTF-32(不带BOM)000000410000004200000043UTF-8UTF-16

7、和UTF-32的一个缺点就是它们固定使用两个或四个字节,这样在表示纯ASCII文件时会有很多00字节,造成浪费。而RFC3629定义的UTF-8则解决了这个问题。UTF-8用1~4个字节来表示代码点。表示方式如下:UCS-2(UCS-4)位序列第一字节第二字节第三字节第四字节U+0000.U+007F00000000-0xxxxxxx0xxxxxxxU+0080.U+07FF00000xxx-xxyyyyyy110xxxxx10yyyyyyU+0800.U+FFFFxxxxyyyy-yyzzzzzz1110xxxx10yyyyyy1

8、0zzzzzzU+10000.U+1FFFFF00000000-000wwwxx-xxxxyyyy-yyzzzzzzz11110www10xxxxxx10yyyyyy10zzzzzz*0xxxxxxx(00-7f)*110xxxxx1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。