1.2.5 字符的编码
1.西文的编码
目前使用最广泛的西文字符集及其编码是ASCII字符集和ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它同时也被国际标准化组织(International Organization for Standardization,ISO)批准为ISO 646国际标准。标准ASCII码使用7个二进制位对字符进行编码,基本的ASCII字符集共有128个字符,如表1-2所示,其中有96个可打印字符,包括常用的字母、数字、标点符号等,另外还有32个控制字符。
表1-2 ASCII码对照表
2.汉字的编码
(1)简体中文的编码。
《信息交换用汉字编码字符集》是由国家标准总局1980年发布的,于1981年5月1日开始实施的一套国家标准,标准号是GB 2312—1980。GB 2312编码适用于汉字处理、汉字通信等系统之间的信息交换,新加坡等地也采用此编码。几乎所有的中文系统和国际化的软件都支持GB 2312。基本集共收入汉字6763个和非汉字图形字符682个。整个字符集分成94个区,每区有94个位。每个区位上只有一个字符,因此可用所在的区和位来对汉字进行编码,称为区位码。把换算成十六进制的区位码加上2020H,就得到国标码。国标码加上8080H,就得到常用的计算机机内码。1995年国家标准总局又颁布了《汉字编码扩展规范》(GBK)。GBK与GB 2312—1980国家标准所对应的内码标准兼容,同时支持ISO/IEC 10646-1和GB 13000—1的全部中、日、韩(CJK)汉字,共计20902字。
(2)繁体中文的编码。
大五码(Big5),又称为五大码,是使用繁体中文地区最常用的计算机汉字字符集标准,共收录13060个中文字,Big5属中文内码(中文码分为中文内码及中文交换码两类)。Big5虽普及于中国的台湾、香港与澳门等繁体中文通行地区,但长期以来只是业界标准。
3.汉字的处理过程
汉字在计算机的输入、内部处理、输出时要使用不同的编码,各种编码之间需进行相互转换,如图1-1所示。
图1-1汉字编码转换
(1)输入码:主要分为数字编码、拼音编码和字形编码。
① 数字编码是用数字串代表一个汉字,国标区位码是这种类型编码的代表。
② 拼音编码是以汉字拼音为基础的输入方法,全拼输入法即是属于这种编码。
③ 字形编码是以汉字的形状为基础的编码,五笔字型即是属于这种编码。
(2)国标码:国标码又称为汉字交换码,用于在计算机之间交换信息。
(3)机内码:机内码是在设备和信息处理系统内部存储、处理、传输汉字用的编码。
(4)字形码:表示汉字字形的字模数据,是汉字的输出形式。有两种表示方法:矢量和点阵表示方式。其中汉字所需的存储容量为:字节数=点阵行数×点阵列数/8,每个点使用1bit(位)存储空间。用于打印的字库称为打印字库,其中的汉字比显示字库多,而且工作时也不像显示字库需调入内存。
4.汉字地址码
汉字地址码是指汉字库中存储汉字字形信息的逻辑地址码。它与汉字内码有着简单的对应关系,以简化内码到地址码的转换。
5.其他汉字内码
(1)HZ码:HZ码是在Internet上广泛使用的一种汉字编码。
(2)ISO 2022 CJK码:ISO 2022是国际标准化组织(ISO)为各种语言字符制定的编码标准。采用两个字节编码,其中汉语编码称ISO 2022 CN,日语、韩语的编码分别称JP、KR。一般将三者合称CJK码。目前CJK码主要在Internet网络中使用。
(3)Unicode码:Unicode码也是一种国际标准编码,采用两个字节编码模式。目前,在网络、Windows系统和很多大型软件中得到应用。