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

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

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

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

续表

值得注意的是R与S之间编号有跳变。有时在编写程序的时候,尤其是程序中用到EBCDIC编码时,这个容易被忽视的小细节往往会令人抓狂。

小写与大写字母的数字穿孔是相同的,但它们的区域穿孔不同。在a\~i的小写字母,穿孔位于第12行和第0行,高半字节对应的编码为1000;在j\~r的小写字母,穿孔位于第12行和第11行,高半字节对应的编码为1001;在s\~z的小写字母,穿孔位于第11行和第0行,高半字节对应的编码为1010。小写字母的EBCDIC字符及其对应的十六进制编码如下表所示。

当然,标点符号和控制字符也都有自己的EBCDIC编码,但对于这些字符的编码系统没有必要去深究。

仔细观察IBM打孔卡,其中每一列细细数下共有12个孔,每个孔代表1位,也就是说可以提供12位的编码信息,不是吗?我们其实可以用打孔卡上每一列12孔中的7个来表示ASCI码。但是,这种方案有一个非技术方面的缺陷,那就是太多的穿孔将使得卡片变得很脆弱,容易折断。

采用8位编码的EBCDIC中其实还有很多编码未定义,这也说明当年 ASCII码采用了7位编码也是合乎情理的。在ASCI码刚刚问世的那个年代,存储器的价格贵得令人咋舌,有一些观点认为ASCI码可以用6位编码并配合转义字符来使用,这样既可以区分大小写又节约了存储器。这种方案并没有被采纳,当时还有一些人认为ASCI码应采用8位编码,他们对计算机的体系结构有了一个大胆的推测,即计算机应该按字节存储,7位存储是不合适的。今天来看,8位的字节存储已经作为了一项标准。尽管ASCI码从技术的本质上来看是7位编码,但仍以8位的形式存储。

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

320