马千瞩自从当了“D日以来最强势政务院”的国务卿之后,头发又少了不少。他的日程以分钟计。挤出两个小时来参加会议,这算是莫大的“恩典”。冯诺知道自己这完全是“挠到了痒处”。
为了充分阐述自己的理念和方案,虽然条件不许可他搞个玻璃板的PPT,但是他还是专门制作了“提纲”和“材料”。前者供领导抓纲契领的阅读;后者则是细节,领导有兴趣了就可以仔细阅读。
至于其他的与会者,都算是行家里手,只要提供一分简单的技术说明就可以了。
会议在政务院的会议室举行,冯诺首先介绍了自己的技术思路,目前讨论的各种技术方案,然后才进入正题。
“为什么要采用穿孔卡片?其实很清楚,就是为了解决数据处理中的三大难点。其一,文档尺寸、形状太多;其二,单个文档上记录的交易太多;其三,文档记录数据的形式和方法太多。换言之,就是标准化的问题。”
冯诺停了一会,平缓一下紧张情绪,觉得自己的声调有点偏高。他没想到杨云真的在报告里提了这八字没一撇的穿孔卡计算机系统,还钓来了督公这条大鱼。冯诺太清楚领导来参观对事业的重要性了,这不仅仅是个人在领导面前露脸的问题,就算领导一言不发听完就走,也会对这个项目的前途产生很重要的推动作用,和过去做生意请领导题个字是同样的道理。这机会必须抓住。
穿孔卡计算机的立项研讨会已经开过一次,基本确定了参加人员和大致计划。这次会议主要是对“穿孔卡片”本身的讨论。因为这穿孔卡计算机和手摇计算机不同,首先得确定数据载体——穿孔卡片的规格和各种标准,才能进行下一步的机械设计。元老院手里没有实物可以仿制,只能根据资料和卡片本身进行逆推。所以,项目的第一件事,就是确定穿孔卡片的标准。
冯诺当然极力拿到了负责这一块的任务,他本来就做了不少调研,又是企划院的代表,而那些搞机械和电力的元老对这事也不大感兴趣。
“因此,我们一开始就要确定好穿孔卡片规格,至少在民用领域的所有应用中全部统一。穿孔卡片有45列,80列,90列等类型,但最通用的,也是最早在美国1890人口普查中使用的,是‘霍勒里思’穿孔卡,后来又通称‘IBM卡’。该卡由坚固耐用的卡片纸做成,印有10行x80列数字,每行的数字分别为0-9。此外,卡上还有11和12两排打孔位置,但没有印刷记号。11排亦称X排,12排亦称Y排。其位置实际位于数字行列的上方。这两行,加第0行,又合称‘三行区’或‘高区’”。
“国内以前应用穿孔卡片的时期较短,行业也较为局限,因此,穿孔卡片的标准完全照搬IBM卡的标准。其制造标准如下:缺角矩形卡片,水平方向为长边,长度187.32毫米,误差不超过0.12毫米;垂直方向为短边,长度82.55毫米,误差不超过0.18毫米;厚度为0.175毫米,误差不超过0.005毫米。纸纤维方向应为水平方向。每边的不直度公差为0.08毫米,各对应边的不平行度公差为0.08毫米,相邻两边的不垂直度公差不超过5分,缺角夹角为60度。请大家查看分发到手的资料。”
“然后是打孔规格,卡片基准直线X,即水平基准直线是卡片上缘直线,卡片基准点是右边缘上距X基准直线41.27毫米的点,卡片基准直线Y是通过基准点并与基准直线X垂直的直线。卡片平行于基准直线Y的80条直线称为卡片的‘列’,列间距2.21毫米,卡片平行于基准直线X的12条直线称为卡片的‘行’,行间距6.35毫米。穿孔形状为矩形,孔中心位于行与列的交点上,其长边平行于Y,短边平行于X,尺寸为长边3.2毫米,短边1.4毫米,误差不超过0.05毫米。同一横行上各代码孔的最小边缘距离应大于0.51毫米,孔中心线与行列标准线误差小于0.25毫米。”
会场一片安静,与会者大概都在怀疑他们能否造出读取和打孔这么精密卡片的设备来。而冯诺想的则是忘了把造纸厂的人请来参加讨论,眼下能否造出合乎规格的纸来都十分难说,想爬个科技树,步步都是坑啊,千头万绪。不过他早有准备,继续说道:
“这是70年代末期国内发布的穿孔卡片标准,其制造精度当然是为了满足穿孔卡计算机系统当时每分钟1000张到2000张卡片处理速度的要求来制订的。我们手里目前没有穿孔卡计算机系统早期的卡片标准,不过可以肯定,20世纪初的技术达不到这样的精度标准,实际上,一则50年代的资料中,穿孔卡的尺寸被简单介绍为18.6厘米x8.3厘米。因此,适用于我们自制设备的穿孔卡精度及误差标准,还有待于在开发中进一步摸索。”
“穿孔卡的每一列可用来记录一个字符,包括从0到9的数字和26个英文字母,以及若干种符号,如等号,百分号等。每列记录一个字符,整个卡片共可以记录80个字符。”
“字符通过打孔实现,某列如果要表达一个数字,直接在第0行到第9行的对应行穿孔。如果某列要表达一个英文字母,则需要高区和数字区同时打孔。通常顶端还会印制该列的取值作为参考,具体方案请大家翻到资料附录2。”
穿孔卡片的每一列都能够存储1个英文字母,其方案为:12-1A11-1J0-112-2B11-2K0-2S12-3C11-3L0-3T12-4D11-4M0-4U12-5E11-5N0-5V12-6F11-6O0-6W12-7G11-7P0-7X12-8H11-8Q0-8Y12-9I11-9R0-9Z
“三行区上打孔,搭配1-9数字行打孔,共有3x9=27中方案,除去0-1位置表示特殊符号‘斜线’,刚好能表示26个字母。有意思的是,之所以用0-1表示斜线,则是因为整个方案中,就只有这个编码两个孔的距离最近,技术实现难度较大。此外,其他的特殊符号则可以用每列穿3个孔的若干方案解决。霍勒里思代码里仅用了8号孔作为搭配的孔,但这同时也揭示了,3孔编码在技术上是可能的。”
“之所以提到3孔编码,是考虑到中文编码的问题。”
这时会场出现了不少窃窃私语的声音。中文的编码是元老院应用穿孔卡的一大问题。当年穿孔卡计算机没有在国内自行生产,用途也不广泛,实际并无标准的中文编码方法。
穿孔卡比起元老们熟知的数据存储载体,容量实在小得可怜,每张18.7x8.3的卡片只能存80个字符,还只是英文字母。如果要是政府或者商务的业务处理也就罢了,大不了多用标准编号,比如几年前司凯德和洪璜楠力推的国家标准代码体系,终于有了用武之地。
仅就眼下人口普查的需求来说,性别、籍贯、出生地、出生时间、现居所、文化水平、家庭成分等问题其实都可以很容易地通过编码解决,过去18位身份证上面仅用了6位就表示了全国每个人的出生地。原因很简单,命中每一个编码的人都很多,编制编码表是合适的。学过数据库的人画个ER图就很容易发现本来就应该这么做。但是唯有一个字段,就是姓名,永远也绕不过中文编码的问题。人口普查表各字段的具体设计工作可以丢给民生省的人,可是这中文编码必须现在解决。
“其实中文编码问题不难解决,问题是占用空间太大。”
“1980年颁布的《信息交换用汉字编码字符集》,通称GB2312编码,不仅仅规定了汉字在计算机上的表示方法,其实也定义了一套使用4位十进制数字表示汉字的方法,就是区位码。区位码收录了一级汉字3755个,二级汉字3008个,符号682个,基本满足当前需求。所以最简单的中文编码方法就是每4列编码一个汉字,大家以前高考的时候都涂过自己的姓名,当时用的就是区位码。”
“目前邮电部在全岛的电报系统已经基本铺设完成,电报员也培训了好几批。我看是不是直接用我们的标准中文电码更方便?人手也可以通用。”这时一直没怎么发言的绍宗开口了。
“区位码在每级汉字内部排序是按照拼音顺序,不怎么用培训吧。反而是标准电码是按部首排序的,实际上比掌握区位码难得多。”
“标准电码从19世纪末就有雏形,直接从清朝那时就编制了,是现阶段汉字编码的自然之选。”
“说话容易还是写字容易?标准电码从字形入手那是因为开始用电报的都是读书人阶层。我们的国民普及教育从拼音入手实际已经颠覆了过去的体系,普通人当然是用区位码更方便。”
“美国护照当年用的可一直是标准电码。”
------------------------------------
下次更新:第七卷:大陆-两广攻略篇第35节
-------------------------------
临高启明实体书珍藏版第一卷正在预售中,有意者就关注临高启明公众号。
公众号临高启明——
临高启明书迷根据地
吹牛者的消息版;
介绍梳理重要人物、事件信息;
展示临高社区风采,优秀同人和资料作品巡展;
不定期组织元老们线上或线下的聚会;
Inaword,SenatusPopulusqueMagnus