字符集的发展历史

上传人:ss****gk 文档编号:205516972 上传时间:2021-10-28 格式:DOC 页数:3 大小:55.50KB
返回 下载 相关 举报
字符集的发展历史_第1页
第1页 / 共3页
字符集的发展历史_第2页
第2页 / 共3页
字符集的发展历史_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《字符集的发展历史》由会员分享,可在线阅读,更多相关《字符集的发展历史(3页珍藏版)》请在金锄头文库上搜索。

1、字符集的发展历史Morse代码并不是以其它图画的或印刷的象形文字来代表书写语言的第一个例子。1821 年到1824年之间,年轻的Louis Braille受到在夜间读写信息的军用系统的启发,发明了一种代码,它用纸上突起的点作为代码来帮助盲人阅读。Braille代码实际 上是一种6位代码,它把字符、常用字母组合、常用单字和标点进行编码。一个特殊的escape代码表示后续的字符代码应解释为大写。一个特殊的shift 代码允许后续代码被解释为数字。Telex代码,包括Baudot (以一个法国工程师命名,该工程师死于1903年)以及一种被称 为CCITT#2的代码(1931年被标准化),都是包括字符

2、和数字 的5位代码。标准早期计算机的字符码是从Hollerith卡片(号称不能被折迭、卷曲或毁伤)发展而来的,该卡 片由Herman Hollerith发明并首次在1890年的美国人曰普查中使用。6位字符码系统BCDIC (Binary-Coded Decimal Interchange Code:二进制编码卜进制交换 编码)源自Hollerith代码,在60年代逐步扩展为8位EBCDIC,并一直是IBM大型主机的标准,但没使用在其它地方。美国信息交换标准码(ASCII: American Standard Code for Information Interchange)起始于 50 年代后

3、期,最后完成于1967年。开发ASCII的过程中,在字符长度是6位、7位还是8位的问题上产生了很大的争议。从可靠性的观点来看不应使用替 换字符,因此ASCII不能是6位编码,但由于费用的原因也排除了 8位版本的方案(当时每位的储存空间成本仍很昂贵)。这样,最终的字符码就有26个小 写字母、26个大写字母、10个数字、32个符号、33个句柄和一个空格,总共128个字符码。ASCII现在记录在ANSI X3.4-1986字符集一用于信息交换的7 位美国国家标准码(7-Bit ASCII: 7-Bit American NationalStandard Code for Information In

4、terchange),由美国国家标准协会(American National Standards Institute)发布。图2-1中所示的ASCII字符码与ANSI文件中的格式相似。ASCII有许多优点。例如,26个字母代码是连续的(在EBCDIC代码中就不是这样的);大写 字母和小写字母可通过改变一位数据而相互转化;10个数字的代码可从数值本身方便地得到(在BCDIC代码中,字符FOJ的编码在字符F9J的后面!) 最棒的是,ASCII是一个非常可靠的标准。在键盘、视讯显示卡、系统硬件、打印机、字体 文件、操作系统和Internet ,其它标准都不如ASCII码流行而 且根深蒂固。国际方面A

5、SCII的最大问题就是该缩写的第一个字母。ASCII是一个真正的美国标准,所以它不能良好 满足其它讲英语国家的需要。例如英国的英镑符号()在哪里? 英语使用拉丁(或罗马)字母表。在使用拉丁语字母表的书写语言中,英语中的单词通常很 少需要重音符号(或读音符号)。即使那些传统惯例加上读音符号也无不当的英语单字,例 如c簸perate或者resume,拼写中没有读音符号也会被完全接受。但在美国以南、以北,以及大西洋地区的许多国家,在语言中使用读音符号很普遍。这些重 音符号最初是为使拉丁字母表适合这些语言读音不同的需要。在远东或西欧的南部旅游,您会遇到根本不使用拉丁字母的语言,例如希腊语、希伯来语、

6、阿拉伯语和俄语(使用斯拉夫字母表)。如果您向东走得更远,就会发现中国象形汉字,日 本和朝鲜也采用汉字系统。ASCII的历史开始于1967年,此后它主要致力于克服其自身限制以更适合于非美国英语的其 它语言。例如,1967年,国际标准化组织(ISO: InternationalStandards Organization)推荐一个 ASCII 的变种,代码 0x40、0x5B、0x5C、0x5D、0x7B、0x7C 和0x7D I为国家使用保留,而代码0x5E、0x60和0x7E标为当国内要求的特殊字符需要8、9或10个空间位置时,可用于其它图形符号。这显然 不是一个最佳的国际解决方案,因为这并不

7、能保证一致性。但这却显示了人们如何想尽办法 为不同的语言来编码的。扩展ASCII在小型计算机开发的初期,就己经严格地建立了8位字节。因此,如果使用一个字节来保存 字符,则需要128个附加的字符来补充ASCIIo 1981年,当最初的IBM PC推出时,视讯卡的ROM中烧有一个提供256个字符的字符集,这也成为IBM标 准的一个重要组成部分。最初的IBM扩展字符集包括某些带重音的字符和一个小写希腊字母表(在数学符号中非常 有用),还包括一些块型和线状图形字符。附加的字符也被添加到ASCII控制字符的编码位置,这是因为大多数控制字符都不是拿来显示用的。该IBM扩展字符集被烧进无数显示卡和打印机的R

8、OM中,并被许多应用程序用于修饰其文 字模式的显示方式。不过,该字符集并没有为所有使用拉丁字母表的西欧语言提供足够多的带重音字符,而且也不适用于Windowso Windows不需要图 形字符,因为它有一个完全图形化的系统。在Windows 1.0 (1985年11月发行)中,Microsoft没有完全放弃IBM扩展字符集,但它已 退居第二重要位置。因为遵循了 ANSI草案和ISO标准,纯Windows字符集被称作ANSI字符集。ANSI草案和ISO标准最终成为ANSI/ISO 8859-1-1987,即American National Standard for InformationPro

9、cessing-8-Bit Single-Byte Coded Graphic Character Sets-Part 1: Latin Alphabet No 1 J,通常也 筒写为 I-Latin 1JOUnicode解决方案我们面临的基本问题是世界上的书写语言不能简单地用256个8位代码表示。以前的解决方 案包括代码页和DBCS己被证明是不能满足需要的,而且也是笨拙的。那什么才是真正的解决方案呢?身为程序写作者,我们经历过这类问题。如果事情太多,用8位数值已经不能表示,那么我 们就试更宽的值,例如16位值。而且这很有趣的,正是Unicode被制定的原因。与混乱的256个字符代码映像,以及

10、含有一些1字节代码和一些 2字节代码的双字节字符集不同,Unicode是统一的16位系统,这样就允许表示65,536个字符。这对表示所有字符及世界上使用象形文字的语言,包括一系 列的数学、符号和货币单位符号的集合来说是充裕的。明白Unicode和DBCS之间的区别很重要o Unicode使用(特别在C程序设计语言环境里)宽字符集L FUnicode中的每个字符都是16位宽而不是8位宽。在Unicode |,没有单单使用8位数值的意义存在。相比之下,在双字节字符集中我们仍然处理8位数值。有些字节自身定义字符,而某些字节则显示需要和另一个字节共同定义一个字符。处理DBCS字符串非常杂乱,但是处理U

11、nicode文字则像处理有秩序的文字。您也许会高兴地知道前128个Unicode字符(16位代码从0x0000到0x007F)就是ASCII字符,而接下来的128个Unicode字符(代码从0x0080到OxOOFF)是ISO 8859-1对ASCII的扩展。Unicode中不同部分的字符都同样基于现有的标准。这是为了便于转换。希腊字母表使用从0x0370到0X03FF的代码,斯拉夫语使用从0x0400到0X04FF的代码,美国使用从0x0530到0x058F的代码,希伯来语使用从0x0590到0X05FF的代码。中国、日本和韩国的象形文字(总称为CJK)占用了 从0x3000到0x9FFF的代码。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号