您的位置:首页 > 其它

编码格式说明及Unicode与utf-8互转

2017-07-10 14:29 295 查看
1、GB2312:又称国标码,规定:对任意一个图形字符都采用两个字节表示,每个字节均采用七位编码表示,习惯上称第一个字节为“高字节”,第二个字节为“低字节”

GB2312中汉字编码范围:  第一个字节: 0xB0--0xF7 对应十进制为:176-247;

第二个字节: 0xA0--0xFE 对应十进制为:160-254;

GB2312将代码表分为94个区,对应第一个字节(0xa1-0xfe);每个区94个位(0xa1-0xfe)对应第二个字节;

两个字节的值分别为区号值和位号值加32(20H),因此也成为区位码

编码范围:

1、01 -- 09 位符号,数字区;

2、16 -- 87 区位汉字区(0xb0-0xf7);

3、10 -- 15区、88 -- 94区有待进一步标准化的空白区。

2、Big5 又称大五码,即是一个繁体字编码

每个汉字由两个字节构成--1、第一字节范围:0x81-0xFE(129-255)共126种;

2、第二个字节范围不连续:0x40-0x7E(64-126)和0xA1-0xFE(161-254)共157种。

3、GBK 是GB2312的扩展,向下完全兼容GB2312;

每个字节仍然包含两个字节:

1、第一个字节范围:0x81-0xFE(129-254);

2、第二个字节范围:0x40-0xFE(64-254)。

GBK中有码位23940个,包含汉字21003个

Unicode:世界标准:为每个字符提供了唯一的特定数值;

有三套编码方式:

1、utf-8:保留了ASCII符的编码作为它的一个部分;用以解决国际上符号的一种多字节编码;它对英文使用八位(1个字节),对中文使用24位(3个字节);

2、utf-16;

3、uft-32。

utf-8与Unicode之间转化:

Unicode为双字节,而UTF-8中汉字占三个字节。

    UTF-8编码字符理论上可以最多到6个字节长,然而16位BMP(Basic Multilingual Plane)字符最多只用到3字节长。下面看一下UTF-8编码表:

        U-00000000 - U-0000007F: 0xxxxxxx 

        U-00000080 - U-000007FF: 110xxxxx 10xxxxxx 

        U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx 

        U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 

        U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 

        U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 

例如:牛 对应的Unicode编码为725B,对应的二进制位111001001011011

111001001011011

11100111    10001001     10011011 对应的utf-8编码为:牛
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  编码 Unicode utf-8 GBK