1963的IT大事记——ASCII问世

要不是1963年出现的一项特殊的技术进步,我们就不可能有电子邮件和World Wide Web。光标的移动、激光打印机和光盘游戏,所有这些都大大归功于这项技术突破。那就是我们今天大多数人视若平常的东西ASCII。就是古老的ASCII,最简单的文本格式。为什么ASCII如此重要?要知道,在它出现之前,不同的计算机之间无法相互通信。每家制造商都使用自己的方式来表示字母、数字和控制码。对ASCII的发展作出贡献并被誉为“ASCII之父”的Bob Bemer说:“那时在计算机中表示字符的方式有60多种。”ASCII,即American Standard Code for Information Interchange,用作毫无共同点的计算机之间的共同标准。它为字母、数字、标点符号及控制码等其他字符赋予标准数值。例如,大写的“A”由数字65表示。电子邮件中使用的所有字符都是ASCII字符,HTML文件中的字符也同样是ASCII字符。但是,1960年时还没有设立这种标准。仅IBM的设备就使用9种不同的字符集。Bemer说:“人们开始谈到需要进行交流的系列计算机,当时连计算机之间互相对话都不行,更别说与外界对话了。”他在1956年到1962年曾效力于IBM。在Bemer为IBM工作期间,这种多种代码混杂的局面已令人忧心忡忡。因此,1961年5月,Bemer向美国国家标准研究所(ANSI)提交了一份关于制定通用计算机代码的建议。于是,代表着当时大多数计算机制造商的X3.4委员会得以建立并投入工作,担任该委员会主席的是前Teletype公司的副总裁John Auwaerter。隶属ANSI的这家委员会花了两年多的
时间就通用代码达成了一致意见。利益之争是造成耗时如此之久的部分原因。该委员会不得不确定采用哪家的专用字符。Bemer说:“这项工作非常琐碎,但最终,我和Auwaerter在会议室外握着手说,就是它了。”具有讽刺意味的是,最终结果与Bemer最初的计划极为相似。

今天,你也许会认为自此便一帆风顺了。如今,ASCII被用于价值数十亿美元的计算机设备和大多数操作系统中。当然Windows NT是个例外,它使用更新的Unicode标准,该标准只在某些地方与ASCII兼容。不过实际上,自1963年ASCII编写完毕到它被普遍采用共花了18年的时间。这与IBM及其System/360系统有关。当ASCII正在开发之际,每个人,甚至包括IBM人在内,都认为该公司会采用这种新标准。在此之前,IBM使用穿孔卡代码的扩展码EBCDIC。但是,正当ASCII完成和System/360准备推出时,IBM的OS/360开发小组组长Frederick Brook告诉Bemer,穿孔卡和打印机还未为ASCII作好准备。IBM试图为System/360开发一种在ASCII和EBCDIC之间转换的方式,但是,开发的技术却未奏效。

直到1981年,当IBM最终开始在PC中使用ASCII时,唯一的ASCII计算机是1964年推出C中使用ASCII时,唯一的ASCII计算机是1964年推出的Univac 1050(尽管Teletype立即在所有打字机一类的新机器中都用了ASCII)。不过从那时起,ASCII便成为计算机通信的标准了。若不提及“扩展(escape)”序列,ASCII的故事就不够完整。据Bemer称,这是ASCII最重大的难题。早期ANSI就认识到,128个字符不够全球通信系统之用。但是,当时硬件的7位特性使他们无法超出这个范围。就这样,Bemer开发了扩展序列,它使计算机能从一个字母表进入另一个。自1963年以来,已定义了150多个“附加ASCII”字母。与Cobol一样,ASCII是诞生于60年代、至今仍保持活力的几种基本计算机技术之一。