认识汉字字符码汉字编码.docx
- 文档编号:2851425
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:53
- 大小:480.80KB
认识汉字字符码汉字编码.docx
《认识汉字字符码汉字编码.docx》由会员分享,可在线阅读,更多相关《认识汉字字符码汉字编码.docx(53页珍藏版)》请在冰豆网上搜索。
认识汉字字符码汉字编码
认识汉字字符码(汉字编码)
(台湾)曾士熊
目录
认识汉字字符码1
一、字符与编码2
(一)何谓字符2
(二)何谓编码2
(三)字节的演变3
二、单字节编码4
(一)七位字节编码4
(二)八位字节编码6
三、多字节延伸编码7
(一)ISO/IEC2022的字符码格式8
(二)ISO/IEC2022的字符码延伸编码结构9
四、多字节内码编码12
五、中文字的属性与特性14
(一)中文字的属性14
(二)中文字的特性15
六、汉字字符集的编码17
(一)汉字字符编码的限制17
(二)汉字字符的编码18
七、中文内码概观20
(一)标签识别式中文内码20
(二)逸出顺序切换式中文内码21
(三)ASCII字符化中文内码22
(四)多语文整合式内码23
(五)字符码竞合现象23
八、中文交换码概观24
九、Big5和Big5E25
(一)发展过程25
(二)Big5-2003的编码结构与字符集26
(三)Big5E新增字符集29
十、中文标准交换码(CNS11643)29
(一)发展过程29
(二)编码格式与编码结构30
(三)字面的指定与切换31
(四)EUC-CSIC34
十一、Unicode与UCS(ISO/IEC10646)35
(一)缘起35
(二)编码结构与字符集36
(三)UTF-16与UTF-839
十二、GB2312、GBK与GB1803041
(一)GB2312系列标准41
(二)GBK43
(三)GB1803043
参考文献44
一、字符与编码
(一)何谓字符
字符(character)是人类语文的最基本单位,例如:
中文字、英文字母、阿拉伯数字、标点符号等。
而字符集(characterset)则是指某种语文的全部字符(例如:
英文的字符)或部份字符(例如:
中文的字符)所形成的集合。
字符也是计算机输入、储存、打印、显示和处理文数字信息的基本单位。
任何计算机都必须具备内建的字符集,才能和人类沟通以及处理文数字信息。
计算机所使用的字符,可区分为图形字符和控制字符两类:
∙图形字符(graphiccharacters)指的是可以被显示在荧光幕上或是被打印在报表纸上,用以构成文数字信息或计算机语言的字符。
就英文字符集而言,所包含的图形字符为52个大小写英文字母、10个阿拉伯数字和一些标点符号,总数还不到100个。
但就汉字字符集而言,所包含的图形字符至少是成千上万的中文字。
∙控制字符(controlcharacters)则代表特定的处理功能,可驱使计算机或通信设备执行特定程序,以进行特定处理或表现特定动作,例如:
驱使荧光幕上的游标回到行首并换行、驱使打印机换行或跳页、开始或终止数据的传输等。
原则上,控制字符不具备可显示或可打印的图形。
(二)何谓编码
就微观角度而言,计算机的硬件是由数以亿计、极为微小(宽度甚至还不到十万分之一公分)的晶体管开关所建构成的。
这些开关只能有「开(on)」和「关(off)」两种状态,习惯上分别以“1”和“0”来表示,因此计算机内部可以看做是二进制数字的世界。
换言之,在计算机系统内部,不论是用以组成程序的指令或任何形式的数据(包括:
文字、图形、影像、声音、动画等),全都是以二进制形式表现(驱使晶体管开关开或关)的电磁信号。
由于硬件的限制,所有字符都必须先转换成二进制数字才能被计算机所接受和处理。
这种二进制数字又称为二进码(binarycode)。
二进码的任何一个数字(digit),因其值必须是“1”或“0”,所以被称做位(bit,为“binarydigit”取第一个字母和最后两个字母所组成的新英文单字)。
针对特定的字符集,分别赋予每个字符一个对应的二进码,称为编码。
而对应于个别字符的二进码则称为字符码(charactercode)。
为了减少字符码的书写位数,习惯上将字符码从二进制数字转换成等值的十进制数字或十六进制数字。
【注:
十六进制每个数字的值为0至15,其中10到15以大写字母A至F表示之;在本文中,于数字之后附加h表示十六进制。
】
字符编码可大致分成下列四个步骤:
1.首先建立字符集,也就是搜集和整理所需要的图形字符和控制字符。
2.将字符集的所有图形字符加以排序。
图形字符的次序先后,决定字符码的相对大小,并影响未来文数字信息以字符码大小排序的结果。
通常是将图形字符依据某些惯例和字符属性加以排序,例如:
英文字母先排大写由“A”到“Z”、再排小写由“a”到“z”,阿拉伯数字则由“0”排到“9”等。
至于控制字符,则不一定需要排序。
3.依据字符集大小决定位组长度。
字符码通常安排成固定长度(即位数)。
就长度为m的二进码而言,共有2m个不同的位值组合,每个位值组合为一个码位(codeposition),所有这些码位的集合称为编码空间。
假设二进码的长度为3个位,则其编码空间为集合{000,001,010,011,100,101,110,111},共23=8个码位。
就特定字符集的编码而言,编码空间必须足以容纳该字符集的所有字符。
换言之,假设该字符集共有N个字符,且假设字符码的长度为m,则m必须是等于或大于log(N)的最小整数,在此log的底数为2(亦即,2m≧N)。
特定字符集编码所需最小位数的二进码称为字节(byte,原为bit的复数)。
若某字符集共有90个字符,则针对此字符集,一个字节必须至少是七个位(因为26=64<90<27=128)。
4.编码,也就是将已经排好顺序的全部字符,依序分别赋予每个字符一个字符码。
请注意,上述的步骤2和步骤3只是原则而已。
事实上,字符码长度的选定和逐字符给码,都必须遵守既定的标准或规范,下文中将进一步说明。
(三)字节的演变
早期计算机的主存储器使用磁蕊记忆器,访问速度慢、价格昂贵而记忆容量小,因此设法减少原始程序和文数字信息所占用的记忆空间便成为当务之急。
解决方法之一是︰将计算机所用的字符集简化到只用26个大写英文字母、10个阿拉伯数字,以及少数必要的标点符号和控制字符。
如此一来,只需六个位(共计64个码位)就足以因应编码所需。
换言之,在早期的计算机系统里,一个字节为六个位。
众所周知的程序语言FORTRANIV只准许使用大写英文字母、阿拉伯数字和很少的几个标点符号来编写程序,就是这时期所流传下来的。
虽然以六个位为一个字节几乎是当时计算机厂商的共识,而且彼此的字符集内容也很相近,但字符的编码却并不一致。
可以说,在1950~60年代,美国的计算机业界可说是万「码」奔腾、百家争鸣。
从1950年代中期起,随着第一代商用计算机的日趋普及,美国图书馆界开始使用计算机来印制书目卡片,不久在线书目查询系统也接着登场。
为了降低编目作业的成本,避免重复编目,各图书馆开始提出共享书目的需求。
但彼此使用不同的字符码,却妨碍了图书馆自动化业务的发展。
1960年代初期,为解决书目资料交换的问题,美国国会图书馆(LC,LibraryofCongress)的HenrietteAvram等人开始研拟机读编目格式(machine-readablecataloging),同时JamesAgenboard等人也制订了英文的字符集和交换码,以做为美国图书馆界书目交换的共同标准。
LC所编订的字符集增加了小写英文字母、收容了更多的标点符号和控制字符,因此六个位变得不敷编码所需。
很自然的,一个字节就由原先的六个位增加为七个位(共计128个码位)。
LC所制定的交换码随后成为美国的国家标准ASCII,并进而变成国际标准ISO/IEC646。
【注:
ISO为国际标准化组织(InternationalOrganizationforStandardization)的缩写,IEC则为国际电气技术委员会(InternationalElectrotechnicalCommission)的缩写,至于“ISO/IEC”则表示该标准系由两机构共组的各个联合技术委员会所通过发布的。
】
ASCII原为交换码,只是设计来做为各计算机之间,或是计算机与接口设备之间,交换文数字信息用的字符码。
但由于ASCII方便易用,加上半导体内存逐渐取代了磁蕊内存,使得计算机主存储器的容量大增而价格急速下降,计算机厂商于是开始直接把ASCII当内码,用以表达计算机内部的文数字信息。
虽然ASCII只有七个位,但计算机厂商为了提升数据传送时的可靠度,往往附加一个同位检测用的位,使得一个字节虽然名义上是七个位,但实质上却是八个位。
1980年代以后,随着微处理器技术的快速发展和工作站、个人计算机(PC)的日趋风行,因着微处理器是以8、16、32甚或64个位为一个运算处理单位,使得一个字节等于八个位逐渐成为大家的共识。
总而言之,以八个位为一个字节并非理当如此,而是有其历史背景的。
二、单字节编码
(一)七位字节编码
美国标准信息交换码(AmericanStandardCodeforInformationInterchange,ASCII)为美国的国家标准,系用以规范各计算机之间交换文数字信息、计算机与外围设备之间传输文数字信息,以及计算机网络上传输文本档案(textfile)所用的英文字符与字符码。
目前,ASCII可以说是最重要的基本计算机标准,凡是能接受和处理英文信息的计算机系统都必然配置有内建的ASCII。
ASCII的字符码是由依序排列的七个位所构成的字节,由左而右分别命名为b7、b6、b5、b4、b3、b2和b1,其中b7为最大数字(mostsignificantdigit),其权值相等于十进数64,b1为最小数字(leastsignificantdigit),其权值等于十进数1,如图2-1所示。
例如,英文字母“C”的ASCII码为“1000011”,其值等于十进制64+2+1=67。
七个位可提供27=128个码位,以十进制表示为0至127,以十六进制表示则是00h至7Fh。
这些十六进数字的高数字(即左边的数字)对应于七个位中的前三者b7、b6和b5,而低数字(即右边的数字)则对应于七个位里的后四者b4、b3、b2和b1。
位名称
b7
b6
b5
b4
b3
b2
b1
位权值
64
32
16
8
4
2
1
图2-1 ASCII的编码格式
图2-2所示为ASCII的字符集编码表:
总共128个字符,分别填入对应的码位,安排成八个直行(对应于十六进制的高数位,即字符码的前三个位b7、b6和b5),每一直行为16个字符(对应于十六进制的低数位,即字符码的后四个位b4、b3、b2和b1。
)。
ASCII的字符集共包含94个图形字符、空格(SP,space)和33个控制字符。
94个图形字符包括:
26个大写和26个小写英文字母、10个阿拉伯数字、9个标点符号、6个括号,以及17个其它符号。
这些图形字符的字符码范围,以十进制表示为33至126,或以十六进制表示为21h至7Eh。
「空格」的字符码为32或20h,是个相当特别的字符,同时扮演着图形字符与控制字符的双重角色。
「空格」虽然不能直接显示出图形,但却在荧光幕上或报表纸上占有和其它图形字符同样大小的空间,因此可视为图形字元。
在英文文件里,词和词(单字和单字)之间必须插入空格,以便分隔前后相邻的两个英文词。
换言之,空格同时扮演着控制字符的角色:
即英文语句的词间分隔符(wordseparator)。
图2-2 ASCII的字符集与编码表
ASCII其余的33个字符则是控制字符,其码位从0到31(或00h到1Fh)共32个,再加上字符码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 认识 汉字 字符 汉字编码