奎克的藏经阁 · 原书印刷页

编码 隐匿在计算机软硬件背后的语言 · 第 312 页

PDF 物理页索引 328 · 编码隐匿在计算机软硬件背后的语言

书名
编码 隐匿在计算机软硬件背后的语言
作者
未记录
印刷页
312
PDF 物理页
328(从 0 开始)
章节
编码隐匿在计算机软硬件背后的语言
UUID
38270854-596f-4a26-8183-db8c968c6020
来源类型
original_book
页面 SHA-256
f9d0b439897b6aee5c9cadbece264ec4adc0e8be001ace1dba57b8824149717d

如下所示:

I SPENNT \$25 TODAY.

8'03,5 \$25 TODAY.

怎么会这样?这是由于在接收到第二行编码之前打印机接收到的最后一个转义码是数字转义码,所以当遇见第二行开头几个编码时,打印机将它们解释成数字。

这种问题产生的根源就是采用了转义码,这的确很让人头痛。尽管Baudot电传码是很简洁实用的编码,但是,我们更加希望采用能唯一表示字符、数字及标点符号的编码方案,如果还能对大、小写进行区分那就更好不过了。

如果想知道比Baudot更好用的编码系统中一个编码需要多少比特,我们需要做几个小加法:所有的大小写字母加起来共需52个编码,0\~9数字需要10个编码,加起来共有62个,如果算上一些标点符号,数量超过了64个,也就是说,一个编码至少需要6比特。但无论如何字符数应该不超过128个,而且应该远远不够128个,也就是说编码长度不会超过8位。

所以,答案就是7。在采用7位编码时,不需要转义字符,而且可以区分字母的大小写。

这些字符编码是什么样子的呢?其实我们可以随意编码。如果我们要去打造一台自已的计算机,计算机硬件的每一个部分都要亲自制作,计算机内部的程序也要亲手编写,而且不打算把这台计算机与其他的进行连接,那么就完全可以构造自己的编码系统。其实也很简单,就是给每一个字符指派一个唯一的编码。

但是这种自己制造计算机,并且独立使用的情况实在是太少了,所以所有人都遵循并使用统一化的编码,计算机的存在才有意义。这样一来,使用不同方法制造出的计算机之间就可以互相兼容,甚至可以互相交流文本信息。

这样一来,随意的编码就显得不太合适了。当我们使用计算机来处理文本时,如果字母表中字母的编码是按顺序来的,就会给我们的工作带来很多便利,显而易见的优点就是,字母的排序和分类将变得简单易行。

幸运的是,这种标准已经存在并且被广泛使用,它被称为美国信息交换标准码(American Standard Code for Information Interchange),简称为 ASCII 码,发音很像ASS-key。从1967年正式公布至今,它一直是计算机产业中最重要的标准。不过还有一个大的例外(后面会讲到),无论何时,当你在计算机上处理文本时,总会在不经意间使用到 ASCII 码。

编码——隐匿在计算机软硬件背后的语言

312