Remove ads

打孔卡,也称穿孔卡(英语:Punched card)又称霍尔瑞斯式卡IBM卡,是一块纸板,在预先知道的位置利用打洞与不打洞来表示数字消息。现在几乎是一个过时的存储器,但其设计转变成现今常用于考试彩券投注等用途的光学划记符号识别卡片(答题卡)。

Thumb
用于1890年人口普查的霍列瑞斯式的打孔机[1]
Thumb
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计算机系统。

Remove ads

参考文献

外部链接

Remove ads

参见

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.

Remove ads