当前位置:首页 > 新闻资讯 > 科技生活 > 新闻
ASCⅡ,计算机信息互通的“幕后英雄”
  • 2014-10-20 16:29:27
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:电脑报
  • 作者:
【电脑报在线】解决编码统一则成为非常棘手的问题,不过人们对于编码的探索之路早就开始了。

不知道大家有没有与港澳朋友进行Email通信,或者收到过一些垃圾邮件,上面的文字是大家并不熟悉的繁体字,读起来异常吃力,不过想要将它变成简体字也并非难事,只需要将这些繁体字复制到Word或者WPS中,将它们转化为简体字即可。简繁体字的显示涉及到了编码问题,简体字通常使用的是GB2312或者是GBK编码,而繁体字使用的Big5编码。而早期的计算机通信遇到的类似问题多多,情况也比简繁体字复杂得多,根本原因就在于各个计算机的制造者都有自己的字符表示法,因而形成各自为战的局面,计算机之间的通信变得异常困难。解决编码统一则成为非常棘手的问题,不过人们对于编码的探索之路早就开始了。

关于编码的早期探索


美国知名画家塞米尔·莫尔斯


莫尔斯电码

人们对于编码的研究最早并非在计算机领域,而是与其相关的通信领域。在19世纪前期当电报通信发明时,人们对于编码的研究就已经开始了。当时主要研究的是文字数据的字符在电子处理和通信传输中的表示方法。

1837年,世界上首个电报系统被安装到英国铁路上,由于电报接收机输出的是字母,传输线需要5根电线,因此这种电报系统的结构十分复杂。美国知名画家塞米尔·莫尔斯(SamielMorse)承担了发明字符代码的任务。

与英国的电报系统相比,莫尔斯采用的方法更简单,一根电线解决问题。收发双方在传输信号时,都有一根移动的纸带记录这些信号,纸带将用于保存和查询信号。这就是著名的莫尔斯电码。1844年5月24日,美国首个电报系统连接成功。

所谓莫尔斯电码,就是通过硬件将电流的状态分成4种:通电时间长,表示“—”(Dash),通电时间短,表示“·”(Dot);断电时间长,表示字符或者字之间的间隔;断电时间短,表示Dash、Dot之间的间隔。然后将拉丁字母、阿拉伯数字和标点符号用Dash和Dot编码,如A的编码是·-,B的编码是-···,1的编码是·----等。

在以后的100多年里,波特电报码、默里电报码、ITA2、FIELDTA等字符编码相继诞生,它们都是ASCⅡ码的直接祖宗。

“一码统天下”的渴望


阿帕网先驱Licklider

 

ASCⅡ码之父Bob Bemer

100年之后,随着数字电子计算机的普及,数据处理(包括文字处理)的工作量大大超过科学计算的工作量,对于数据的交换和共享需求显得极为迫切。特别是在阿帕网先驱Licklider于1962年提出“电脑与人类交流”的思想——即计算机之间相互通信、人机之间也要相互通信之后,如何交换和共享这些数据成为一件棘手的问题。

这源于计算机初创时期“群雄割据”所造成的“各自为战”。在ASCⅡ(美国信息交换标准码)出现之前,每家制造商都使用自己的方式来表示字母、数字和控制码。那时,在计算机中表示字符的方式就有60多种,更可笑的是,仅IBM的设备中就使用了9种不同的字符集。电脑之间的相互对话都无法完成,更别说与外界对话了。

因而设计标准的字符编码就越来越显得迫切了。字符代码的设计,应该考虑到计算机及通信带宽,采取信息浓缩的形式。另外,计算机系统的心脏——微处理器的电路只会做两件事情:进行二进制的算术操作和执行布尔逻辑运算。所以,电子处理字符代码,虽然表示的是文字,而采取的形式应该是二进制的数值数据。除了处理外,以二进制数值数据表示的字符,也便于记录保存和传输,这项艰巨的任务落到美国科学家Bob Bemer身上,他为开发ACSⅡ编码系统做了许多创造性的工作,也因此被称为“ASCⅡ之父” 。

ASCⅡ码的诞生


ASCⅡ字符代码表

在Licklider的想法实施之前,首先需要解决的就是统一各计算机之间的相互接头暗语——信息交换编码。

Bob Bemer在1956年到1962年效力于IBM公司期间就已关注了这一问题,并在1961年5月向美国国家标准研究所(ANSI)递交了一份关于制定通用计算机代码的建议。

于是,代表着当时大多数计算机制造商的X3.4委员会得以建立并投入工作。担任该委员会主席的是前Teletype公司的副总裁John Auwaerter。隶属ANSI的这家委员会花了两年多的时间就通用代码达成了一致意见,利益之争是造成耗时如此之久的部分原因。该委员会不得不确定采用哪家的专用字符。Bob Bemer说:“这项工作非常琐碎,但最终,我和Auwaerter在会议室外握着手说,就是它了。”具有讽刺意味的是,最终结果与Bob Bemer最初的设计极为相似。这一历史时刻最终定格在1963年,一个新的编码ASCⅡ(American Standard Code forInformation Interchange)诞生了。 

ASCⅡ是由128个由数字0和1组成的七位二进制串构成的。每一个字串代表了英文字母表中的一个字母、阿拉伯数字、标点符号和一些特定的符号。前3位的数值可以从ASCⅡ码表的左侧找到,后4位的数值可在ASCⅡ码表的上方找到,比如字符1对应的代码是31(16进制),或者二进制的0110001。

但ASCⅡ的推广并不顺利,自1963年ASCⅡ编写完毕到它被普遍采用总共花费了18年的时间。这很大程度与IBM公司的System/360系统的推出有关,由于当年IBM的主打产品System/360准备推出时,ASCⅡ编码标准刚刚确立。因此System/360推出时,与其配套的穿孔卡和打印机还没为ASCⅡ做好准备,这时,IBM只好为System/360开发一种在ASCⅡ和EBCDIC之间转换的方式,可惜最后开发的技术却未能奏效。

直到1981年,IBM最终开始在PC中使用ASCⅡ。至此,ASCⅡ才真正成为计算机通信的标准。

ASCⅡ的今天与明天

今天,古老的ASCⅡ作为一种字符集标准,已被广泛应用于计算机设备和大多数操作系统。ASCⅡ诞生于1963年,如今仍保持活力。不过在一些新型的操作系统中,一些新的编码方案被使用,如Windows NT,但它都必须与ASCⅡ保持兼容。ASCⅡ的出现,使得电脑信息表示达成统一,为以后电脑联网交流奠定了基础。

应该说,我们现在使用的电子邮件、World Wide Web、激光打印机和游戏都应该归功于这项技术的突破。没有ASCⅡ编码,计算机通信还只是奢谈。但如今人们在体验计算机带来方便之时,很少有人会提及ASCⅡ这个曾经的“幕后英雄”,更多的人则对它闻所未闻,这不能不说是一件令人遗憾的事。而ASCⅡ编码本身也存在一些不足,比如说最初只能表示127个字符,而后来则被扩充到256个字符,而针对亚洲的文字双字节占用方式又出现了扩展的Unicode码。至于未来是否有新的编码来完全替代ASCⅡ编码,这个问题谁也无法预测。

 

延伸阅读:

由ASC字符组成的第一张电脑笑脸表情

表情符号至今已经有30多年的发展历史了。1982年,美国卡耐基-梅隆大学的计算机科学教授斯科特·法尔曼第一次在计算机上输入了这样一串ASCⅡ字符组成的图案::-),用来表达情绪。于是,人类历史上第一张电脑笑脸就此诞生。
本文出自2014-10-20出版的《电脑报》2014年第41期 A.新闻周刊
(网站编辑:soso)


我来说两句(0人参与讨论)
发表给力评论!看新闻,说两句。
匿名 ctrl+enter快捷提交
读者活动
48小时点击排行
论坛热帖