unicode 字符集与它的编码方式

unicode 字符集与它的编码方式

ID:12032545

大小:30.95 KB

页数:9页

时间:2018-07-15

unicode 字符集与它的编码方式_第1页
unicode 字符集与它的编码方式_第2页
unicode 字符集与它的编码方式_第3页
unicode 字符集与它的编码方式_第4页
unicode 字符集与它的编码方式_第5页
资源描述:

《unicode 字符集与它的编码方式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、编码字符集:编码字符集是一个字符集,它为每一个字符分配一个唯一数字。Unicode标准的核心是一个编码字符集,字母“A”的编码为004116和字符“”的编码为20AC16。Unicode标准始终使用十六进制数字,而且在书写时在前面加上前缀“U+”,所以“A”的编码书写为“U+0041”。 1ASCII码   我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应

2、一个符号,就是256个符号,从0000000到11111111。  上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。ASCII码一共规定了128个字符的编码(准确地说ASCII码是一个编码字符集),比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。后128个称为扩展ASCII码,目前许多基于x86的系统都支持使用扩展ASCI

3、I码。  256个ASCII码中的后128个扩展码可定制用来表示特殊字符和非英语字符,GB2312就是利用这后面的128个扩展字符来表示汉字,[161,254]共94个字符来组成双字节来表示简体汉字字符表。2Unicode编码字符集  光是英语字符ASCII编码字符集是够了,但是如果算上世界上其他的语言的字符,ASCII码显然不够了,于是Unicode编码字符集应运而生。  Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。码位就是可以分配给字符的数字。UTF-8、UTF-16、UTF

4、-32都是将数字转 换到程序数据的编码方案。 3UTF-8 http://zh.wikipedia.org/wiki/UTF-8     Unicode编码字符集只是统一定义了所有字符和它对应Unicode编码值,而我们的程序中怎么去存储和读取这个Unicode编码值呢?显然,你可以直接统一规定所有Unicode编码值用四个字节来存储。但是这样的话,对于Unicode编码字符集中的与ASCII码表对应的那部分字符(只需要一个字节来表示的Unicode编码值)就有点浪费了。这样,utf-8也就粉墨登场了。  UTF-8最大的一个特点,就是它是一种变长的编码

5、方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。Unicode符号范围

6、UTF-8编码方式(十六进制)

7、(二进制)--------------------+---------------------------------------------00000000 ~ 0000007F

8、0xxxxxxx              --------7bit00000080 ~ 000007FF

9、110xxxxx10xxxxxx   -------11bit00000800 ~ 0000FFFF

10、1110xxxx10xxxxxx10xx

11、xxxx -----16bit00010000 ~ 0010FFFF

12、11110xxx10xxxxxx10xxxxxx10xxxxxx ----21bitUTF-8编码规则:1>对于Unicode编码值的二进制位数小于等于7的情况,用一个字节来表示这个Unicode编码值,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。2>对于Unicode编码值的二进制位数大于等于8并且小于等于11的情况,用两个字节来表示,第一个字节的前两位都设为1,第两+1位设为0,第二个字节的前两位设为10。剩下的

13、没有提及的二进制位,全部填充这个符号对应的unicode码。3> 以此类推,对于需要n个utf-8字节来表示的的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部填充这个符号对应的unicode码。 utf-8编码长度最大为四个字节,所以最多只能表示Unicode编码值的二进制数为21位的Unicode字符。4.UTF-16     http://zh.wikipedia.org/wiki/UTF-16  16进制编码范围UTF-16表示方法(二进制)10进制码范围字节数量U+000

14、0---U+FFFFxxxxxxxxxxxxxxxx0-655352U+1000

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

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

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