打孔卡
简介
1801年,法国人约瑟夫·玛丽·雅卡尔发明了打孔卡用在控制织布机织出的图案。 1880年代,美国人口调查局职员霍列瑞斯发明了用于人口普查数据的穿孔卡片及机器,并用于1890年美国人口普查,仅6周就完成了统计。 而此前1880年美国人口普查的数据全靠手工处理,历时7年才得出最终结果。 霍列瑞斯创建的公司,发展为今日的IBM。 1890年代至20世纪初,穿孔卡广泛运用在商业和相关文书。20世纪期间,打孔卡应用在单位记录机作为输入端、处理和计算机程序。 早期的数字电脑运用打孔机已输入信息的打孔卡当做计算机程序和数据的主要输入媒介。 另外,一些投票机也运用打孔卡。
1928年,IBM发明的80列、矩形孔卡片,成为事实上的标准。 其工作原理如下:编号为0至9,总计10行;以及一块区域,用于第11、第12行(注意,没有编号为第10的行)。 每列的穿孔组合用于表示单个字符:
数字通过在行0至行9直接打1个孔来表示。
空格符的表示,不需要打孔。
字母用2个孔表示:一个孔在第11、第12、第0行;另一个孔在第1至第9行。字母表被依次分为由9个字母组成的区("zones"),每个区的字母依次在第1至第9行打孔。每个区分别在第11、第12、第0行打孔。第3区第1个字符保留未使用。
一些特殊字符使用了额外的单孔表示,或者双孔表示。
大多数特殊字符(如标点符号等)用3孔表示:第8行被穿孔;第0、第11、第12行有1个穿孔;第1到第7行有1个穿孔。第9行保留未使用。
总计表示了67个字符。
进入到数字计算机时代,上述穿孔卡片字符表示方式发展为6比特的字符编码:用4比特表示第0行至第9行的哪一行被穿孔;用2比特表示第11、第12行的哪一行被穿孔。 这可以表示所有的单孔或者双孔的字符表示,这被称作“二进制编码的十进制交换码”(Binary Coded Decimal Information Code,BCDIC, BCD码)。 1964年,IBM在BCDIC上又增加2个比特,形成了8比特的“扩充的二进制编码的十进制交换码”(Extended Binary Coded Decimal Information Code,EBCDIC),首先用于IBM System/360计算机。 EBCDIC向后兼容BCDIC,扩充了小写字母,以及从ASCII码借鉴来的一些控制字符(穿孔卡片实际上不需要,也不表示控制字符)。因为EBCDIC脱胎于穿孔卡,所以其字母表是以9个为一组,彼此不连续编码表示的,这给程序员带来了很大不便。例如,字母“I”编码为0xC9;而字母“J”编码为0xD1,二者中间有8个码位间断。 EBCDIC一直用到目前的IBM System/390计算机系统。
参考文献
本条目部分或全部内容出自以GFDL授权发布的《自由在线电脑词典》(FOLDOC)。
参见
Card image
Computer programming in the punch card era
Key punch
计算机硬件历史
List of books on the history of computing#Punched cards, Unit record equipment
Paper data storage
Unit record equipment
Voting machine
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。
- 有价值
- 一般般
- 没价值