电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> 计算机学习>>认识编码(含有GBK,GB2312相关知识):

认识编码(含有GBK,GB2312相关知识)

来源:网络 | 2007-3-22 | (有3821人读过)

一、介绍字符编码、内码,顺带介绍汉字编码  
  
字符必须编码后才能被计算机处理。计算机使用的缺省编码方式就是计算机的内码。早  
期的计算机使用7位的ASCII编码,为了处理汉字,程序员设计了用于简体中文的GB2312  
和用于繁体中文的big5。  
  
GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内  
码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是  
D7FA-D7FE。  
  
GB2312支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字  
区和图形符号区。汉字区包括21003个字符。2000年的GB18030是取代GBK1.0的正式国家  
标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民  
族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一  
般只支持GB2312。  
  
从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方  
案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以  
统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,  
GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。  
  
有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030。不过  
GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文  
Windows内码。  
  
这里还有一些细节:  
  
GB2312的原文还是区位码,从区位码到内码,需要在高字节和低字节上分别加上A0。  
  
在DBCS中,GB内码的存储格式始终是big endian,即高位在前。  
  
GB2312的两个字节的最高位都是1。但符合这个条件的码位只有128*128=16384个。所以  
GBK和GB18030的低字节最高位都可能不是1。不过这不影响DBCS字符流的解析:在读取  
DBCS字符流时,只要遇到高位为1的字节,就可以将下两个字节作为一个双字节编码,而  
不用管低字节的高位是什么。  
   
  
  
二、关于编码  
  
所谓编码,是以固定的顺序排列字符,并以此做为记录、存贮、传递、交换的统一内部  
特征,这个字符排列顺序被称为“编码”。和中文字库有关的常见编码有:大陆GB码、  
GBK码、港台BIG-5码等。下面简要介绍一下。  
  
GB码  
  
全称是GB2312-80《信息交换用汉字编码字符集 基本集》,1980年发布,是中文信息处  
理的国家标准,在大陆及海外使用简体中文的地区(如新加坡等)是强制使用的唯一中  
文编码。P-Windows3.2和苹果OS就是以GB2312为基本汉字编码, Windows 95/98则以GBK  
为基本汉字编码、但兼容支持GB2312。  
  
GB码共收录6763个简体汉字、682个符号,其中汉字部分:一级字3755,以拼音排序,二  
级字3008,以偏旁排序。该标准的制定和应用为规范、推动中文信息化进程起了很大作  
用。  
  
1990年又制定了繁体字的编码标准GB12345-90《信息交换用汉字编码字符集 第一辅助  
集》,目的在于规范必须使用繁体字的各种场合,以及古籍整理等。该标准共收录6866  
个汉字(比GB2312多103个字,其它厂商的字库大多不包括这些字),纯繁体的字大概有  
2200余个。  
  
Unicode编码(Universal Multiple Octet Coded Character Set)  
  
国际标准组织于1984年4月成立ISO/IEC JTC1/SC2/WG2工作组,针对各国文字、符号进行  
统一性编码。1991年美国跨国公司成立Unicode Consortium,并于1991年10月与WG2达成  
协议,采用同一编码字集。目前Unicode是采用16位编码体系,其字符集内容与ISO10646  
的BMP(Basic Multilingual Plane)相同。Unicode于1992年6月通过DIS(Draf  
International Standard),目前版本V2.0于1996公布,内容包含符号6811个,汉字  
20902个,韩文拼音11172个,造字区6400个,保留20249个,共计65534个。  
  
GBK编码(Chinese Internal Code Specification)  
  
GBK编码是中国大陆制订的、等同于UCS的新的中文编码扩展国家标准。GBK工作小组于  
1995年10月,同年12月完成GBK规范。该编码标准兼容GB2312,共收录汉字21003个、符  
号883个,并提供1894个造字码位,简、繁体字融于一库。  
  
Windows95/98简体中文版的字库表层编码就采用的是GBK,通过GBK与UCS之间一一对应的  
码表与底层字库联系。  

  
BIG5编码  
  
是目前台湾、香港地区普遍使用的一种繁体汉字的编码标准,包括440个符号,一级汉字  
5401个、二级汉字7652个,共计13060个汉字。  
  
方正748编码  
  
所谓748编码,是指方正系统在长期应用过程中实施、制定的简、繁体字库编码方式,简  
体兼容GB2312且有所扩展,共7156字;繁体兼容GB12345并扩展全部BIG-5汉字,计14943  
字。此外,方正748编码还含有丰富的符号库。748编码仅用于方正软件和系统。 
计算机学习热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号