馬千矚自從當了“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-1 A 11-1 J 0-1 / 12-2 B 11-2 K 0-2 S 12-3 C 11-3 L 0-3 T 12-4 D 11-4 M 0-4 U 12-5 E 11-5 N 0-5 V 12-6 F 11-6 O 0-6 W 12-7 G 11-7 P 0-7 X 12-8 H 11-8 Q 0-8 Y 12-9 I 11-9 R 0-9 Z
“三行區上打孔,搭配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節
-------------------------------
臨高啓明實體書珍藏版第一卷正在預售中,有意者就關注臨高啓明公衆號。
公衆號臨高啓明——
臨高啓明書迷根據地
吹牛者的消息版;
介紹梳理重要人物、事件信息;
展示臨高社區風采,優秀同人和資料作品巡展;
不定期組織元老們線上或線下的聚會;
In a word,Senatus Populusque Magnus