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

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

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

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

阴极射线管(cathode-ray tube,CRT,这是20世纪70年代随处可见的设备)并不受这类限制。使用软件来协调整个屏幕显得更加灵活方便一这可以算得上是一种二维的信息平台。但是为了尽量保持操作系统显示输出的逻辑一致性,早期那些为小型计算机编写的软件都把CRT显示器看做“玻璃屏幕电传打字机”—所有内容都是一行一地显示的,当字符排到底端,屏幕被填满时,屏幕上的内容要整体向上翻滚。除了CP/M(微处理机操作系统)中的所有工具软件之外,大部分MS-DOS下的工具软件都采用这种方法它们都仿照电传打字机的工作方式来使用视频显示器。使用电传打字机这种工作原理的操作系统有很多,或许UNIX才算是最典型的原型操作系统之一,它还一直保留着这种“传统工艺”。

不巧的是,ASCI码字符集不完全适用于阴极射线管的工作方式。在最原始的ASCII码设计中,编码1Bh被标识为Escape,它的主要作用是帮助字符集进行扩充。在1979年,美国国家标准协会(American National Standards Institute,ANSI)发布了一项题为“ASCII码使用的附加控制(Additional Controls for Use with American National Standard Code forInformation Interchange)”的标准。该标准发布的初衷是为了“适应二维字符-图像设备输入输出控制中迫在眉睫的相关需求,其中包括阴极射线管和打印机之间的交互终端………”

其实Escape的编码1Bh只占据一个字节,且它的含义是唯一的。Escape如果作为一串序列的前缀字符,那么这串字符序列的含义也随之改变。比如下面这串序列:

1Bh 5Bh 32h 4Ah

可以看出Escape编码随后紧跟的是字符“[”“2”“J”的 ASCI码,现在这一串字符的含义为“清屏”然后移动光标至左上角。这种定义在电传打字机上是不可能出现的。下面这串序列:

1Bh 5Bh 35h 3Bh 32h 39h 48h

即Escape编码随后紧跟的是字符“[”、“5”、“;”、“2”、“9”、“H”,这串字符的作用是把光标移到第5行的第29列。

键盘和CRT一起对远程计算机传输来的 ASCII码(可能还包括Escape字符序列)做出响应,这种设备我们称之为哑终端(dumb terminal)。哑终端相对于电传打字机速度要更快,从某种程度来讲也更灵活,但从速度的提高程度上来讲,并不足以引领用户界面的革新。真正的革新出现在20世纪70年代小型计算机中—它类似于第21章我们构建的假想计算机,配备了“视频显示存储器”,并作为微处理器地址空间的组成部分。

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

400