黑马程序员技术交流社区

标题: GBK码表的概况 [打印本页]

作者: BugBuff    时间: 2016-3-27 23:43
标题: GBK码表的概况
String s2 = "你好你好";
byte[] arr = s2.getBytes();                //通过gbk码表将字符串转换成字节数组
for (int 1 = 0;i < arr.length;i++ ) {        //编码:把我们看的懂得转换为计算机看的懂得
   System.out.print(arr[i] + " ");        //gbk码表一个中文代表两个字节
}                                        //gbk码表特点,中文的第一个字节肯定是负数

GBK码表的概述:
        GBK即汉字内码扩展规范,K为扩展的汉语拼音中“扩”字的声母。英文全称Chinese Internal Code Specification。
        GBK编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库。
        GB2312码是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集——基本集》,1980年由国家标准总局发布。
GBK码表的概况:
     GB2312的出现,基本满足了汉字的计算机处理需要,但对于人名、古汉语等方面出现的罕用字,GB2312不能处理,
  这导致了后来GBK及GB18030汉字字符集的出现。  GBK采用双字节表示,总体编码范围为8140-FEFE,首字节在81-FE 之间,
  尾字节在40-FE 之间,剔除 xx7F一条线。总计23940 个码位,共收入21886个汉字和图形符号,其中汉字(包括部首和构件)21003 个,
  图形符号883 个。P-Windows3.2和苹果OS以GB2312为基本汉字编码, Windows 95/98则以GBK为基本汉字编码。
    有些汉字用五笔和拼音都打不出来,如:溙(五笔IDWI),须调出GBK字符集才能打出这个字。极品五笔中可右击输入法图标,设置,属性中选GBK字符集
  。极点五笔中可点击工具条中相关图标进行转换。

     1993年,Unicode 1.1版本推出,收录了中国大陆、台湾、日本及韩国通用字符集的汉字,总共有20,902个。

     中国大陆订定了等同于Unicode 1.1版本的“GB 13000.1-93”“信息技术 通用多八位编码字符集(UCS)第一部分:体系结构与基本多文种平面”。

     由于GB 2312-80只收录了6763个汉字,有不少汉字,如部分在GB 2312-80推出以后才简化的汉字(如“啰”),部分人名用字(如中国前总理朱镕基的
   “镕”字),台湾及香港使用的繁体字,日语及朝鲜语汉字等,并未有收录在内。中文电脑开发商,于是利用了GB 2312-80未有使用的编码空间,
   收录了所有出现在Unicode 1.1及GB 13000.1-93之中的汉字,制定了GBK编码。

     根据西方资料,GBK最初是由微软对GB2312的扩展,也就是CP936字码表 (Code Page 936)的扩展(原来的CP936和GB 2312-80一模一样),
   最初出现于Windows 95简体中文版中,由于Windows产品的流行和在大陆广泛被使用,中华人民共和国国家有关部门将其作为技术规范。
   注意GBK并非国家正式标准,只是国家技术监督局标准化司、电子工业部科技与质量监督司发布的“技术规范指导性文件”。虽然GBK收录了所有Unicode 1.1
   及GB 13000.1-93之中的汉字,但是编码方式与Unicode 1.1及GB 13000.1-93不同。仅仅是GB 2312到GB 13000.1-93之间的过渡方案。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2