《WINDOWS程序设计》(016)2.1 字符集简史-2.1.1 美国标准
本帖最后由 兰陵月 于 2018-10-21 21:31 编辑2.1字符集简史
人类从何时开始用口头语言至今尚无定论,但书面文字貌似已经有六千年的历史。早期象形文字有着象形的性质。字母表是三千年以前才发明的。它的特征是每个字母有相应的发音。虽然各种世界语言文字似乎很好地发挥着它们的用途,几个十九世纪的发明家则认为人们还有更多的需要。莫尔斯(Samuel F.B. Morse)在1838年到1854年间发明了电报,他还设计了一种用于电报的代码。在这套代码中,字母表中每个字母都被赋予一个相应的短和长的停顿系列(点和破折号)。这套diamante系统不区分大小写字母,但数字和标点符号有着自己的代码。
莫尔斯码并不是用非书写符号或非印刷符号来代表书面语言的首例。在1821年到1824年之间,年轻的布莱尔(Louis Braille)受军事上一个用于夜间写作和阅读的系统的启发,发明了可供盲人阅读的、把凸点印在纸上的代码。盲文本质上是用6位编码来代表字母、常用字母组合、常用词和标点符号。一个特别的转义(eacape)码表明随后的字母代码是大写;而一个特殊的转换(shift)码表示随后的字母代码是数字。注:(来自百度)摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。它发明于1837年,发明者有争议,是美国人塞缪尔·莫尔斯或者艾尔菲德·维尔。 摩尔斯电码是一种早期的数字化通信形式,但是它不同于现代只使用零和一两种状态的二进制代码,它的代码包括五种: 点、划、点和划之间的停顿、每个词之间中等的停顿以及句子之间长的停顿。
电传码(Telex),其中包括博多码(Baudot code,以纪念于1903年去世的法国工程师)和一种称为CCITT#2的代码(在1931年被标准化),都是5位代码,其中包括字母和数字的转换。注:(来自百度)博多电码是法国工程师博多于1874年取得专利的一种电报码,在20世纪中期取代了莫尔斯电码。最初,博多码是由5个长度相同的“通”、“断”信号组成的电码,按不同方式组合而成的电码组共有32种,每种表示一个书写符号,它比利用由长划和短点组成的莫尔斯电码的通信效率高。现代的博多电码,通常用7或8个“通”、“断”信号组成。7个信号可以传送128种不同的书写符号;8个信号则用多出来的一个信号供校验或作其他用途。 使用脉码调制,接收机只需检测简单的脉冲型式就可以了,而每个信号相应的脉冲型式是唯一的。因此,可以最大限度地减少传输错误与传输损耗,消除噪音和干扰,使信号可靠地传输。此外,由于脉冲与连续信号不同,它可以通过传输线路上的转发器利用电子仪器不失真地反复再现。CCITT:国际电报电话咨询委员会(International Telephone and Telegraph Consultative Committee)
2.1.1美国标准
早期的计算机字符代码是从用于Hollerith卡上的编码演变而来的。Hollerith卡的发明者是Herman Hellerith。Hollerith卡率先用于1890年的美国国家人口普查。以Hollerith编码为基础的名为BCDIC(二进制编码的十进制交换编码)的6位编码逐步扩大为流行于20世界60年代的名为EBCDIC的8位编码。这种编码称为IBM大型机的标准,但没有成为其他地方的标准。注:BCDIC码就是王爽老师《汇编语言》里的BCD码?或者是类似的变种?
美国国家信息交换标准码(ASCII)起源于20世纪50年代末,并于1967年最终定型。ASCII的开发过程中,对于代码的宽度应该是6位、7位或是8位,一直争议不断。考虑到可靠性,不能使用转换字符,因此ASCII不能使用6位编码。考虑到成本价格,也排除了8位编码的可能性。(位数多在当时是非常昂贵的。)最后使用的代码有26个小写字母,26个大写字母,10个数字,32个符号,33个控制码,一个空格吗,总共有128个代码。ASCII码目前记录在美国国家标准学会出版的AXSIX3.4-1986中,“编码字符集,7位美国国家信息交换标准码(7位ASCII)”。图2-1显示的ASCII与此ANSI文件中出现的ASCII非常相似。
0- 1- 2- 3- 4- 5- 6- 7-
-0 NUL DLE sp 0 @ P ` p
-1 SOH DC1 ! 1 A Q a q
-2 STX DC2 " 2 B R b r
-3 ETX DC3 # 3 C S c s
-4 EOT DC4 $ 4 D T d t
-5 ENQ NAK % 5 E U e u
-6 ACK SYN & 6 F V f v
-7 BEL ETB ' 7 G W g w
-8 BS CAN ( 8 H X h x
-9 HT EM ) 9 I Y i y
-A LF SUB * : J Z j z
-B VT ESC + ; K [ k {
-C FF FS , < L \ l |
-D CR GS - = M ] m }
-E SO RS . > N ^ n ~
-F SI US / ? O _ o DEL
图2-1 ASCII字符集
ASCII好处多多。例如,26个字母的代码是连续的(EBCDIC编码就并非如此)。大小写字母只要翻转1位就可以互相转换。10个数字的代码来自于数字值。(在BCDIC,“0”的代码字符之后就是“9”的代码字符!)
最重要的是,ASCII码是一种非常可靠的标准。没有其他哪一种标准能像ASCII一样普及,它扎根于我们的键盘、视频显示器、系统硬件、打印机、字体文件,操作系统和因特网。
页:
[1]