打孔卡

存储信息的卡片

打孔卡,也稱穿孔卡(英語:Punched card)又称霍爾瑞斯式卡IBM卡,是一塊紙板,在預先知道的位置利用打洞與不打洞來表示數位訊息。現在幾乎是一個過時的存储器,但其設計轉變成現今常用於考試彩券投注等用途的光學劃記符號辨識卡片(答题卡)。

用於1890年人口普查的霍列瑞斯式的打孔機[1]
80列、矩形孔的標準的IBM打孔卡片,已经打孔表示了字符集。此類型用於存儲數據。

簡介

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行的哪一行被穿孔。这可以表示所有的单孔或者双孔的字符表示,这被称作“二进制编码的十进制交换码英语BCD (character encoding)”(Binary Coded Decimal Information Code,BCDIC)。

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计算机系统。

參考文獻

  1. ^ Truesdell, Leon E. The Development of Punch Card Taabulation in the Bureau in the Bureau of the Census: 1890-1940. US GPO. 1965 (英语). 

本條目部分或全部内容出自以GFDL授權發佈的《自由線上電腦詞典》(FOLDOC)。

外部連結

参见