拜託!問題在編碼!──論大學甄選入學的數位化
因為某些因素,我有好一陣子在研究大學甄選入學的制度和電子化 (或說數位化) 內容;這不僅是中正大學的甄選入學委員會,還包括了各大學 (凡 69 校) 公佈榜單的方式。做了兩回合之後只覺得:台灣的數位化還需要加油。
民國 97 年大學甄選入學各高中建議事項 (Excel 活頁簿檔案)及官方回應已經發佈在大學甄選入學委員會的網站上了。其中幾項其實頗耐人尋味,例如這項:
「可否請中心加強宣導,各大學電子榜單可否儘量採用HTML網頁格式就好,最好不要使用PDF檔!那個洋鬼子發明的東西對中文接受度差,若是使用新細明體或是標楷體以外的字體,搜尋就會出問題!PDF格式的榜單連第4點中提到的交叉查詢網站的作者也都嫌棄咧!」──花蓮女中
而這則建議的官方回應則是:
「轉知高中意見予自行開發軟體之大學,請其參考配合辦理。」
當然這看在我們這些稍微有接觸過一點電腦科學(其實我不知道怎麼形容)的人,是啼笑皆非的;我在想大學甄選入學委員會看到這則問題可能也很無奈。
—
首先,我們知道的是,洋鬼子發明了你電腦裡絕大多數的東西,包括你摸得到或你摸不到的東西。若要說 PDF 因為是洋鬼子發明所以對中文支援度極差,那麼也可以說 Windows 因為是洋鬼子發明所以對中文支援度極差;雖然後面那句有幾許正確,Windows 對中文的支援 (或說國際語言) 要到 Vista 才真正有大改善。
若要說因為使用了新細明體或標楷體以外的字體導致無法搜尋 PDF 內容文字,那麼可能他要搜尋的字,在當初製作 PDF 的時候是另外造字的,甚至會說這種話的人大概不知道「為甚麼要用 PDF 發佈榜單」。
PDF 是有把文字的編碼寫入的,也就是不管你用什麼鬼字體來製作一般的 PDF 檔案,在 PDF 閱讀程式中使用「搜尋」的功能是可以找到字的。會有找不到字的狀況,可能是像這個檔案:國立臺灣大學九十七學年度學士班甄選入學招生錄取名單(個人申請).pdf
這時候為了要解釋,只好上一下計概課…
在電腦裡要顯示文字所使用的是所謂編碼系統 (Encoding) ,每個字基本上都是一張圖,一個字一個字給它編號,電腦在讀取的時候只讀編號,再依字的編號找出字的長相,秀給你看;有點像是使用四角號碼檢索活字印刷字模時,「號碼」與「文字」的分別。Windows 在 2000 以前使用的中文編碼系統是資策會發明的 Big5,這種編碼系統收錄的漢字不夠齊全,大部份的罕用字都沒有收入。而「寗」這個字在 Big5 中文編碼系統裡面是沒有的。
洋人發明的 Unicode (萬國碼) 收錄了絕大多數的漢字文化圈 (中日韓越) 漢字。然而 Windows 對 Unicode 支援要到 XP 、 Vista 版本才比較齊全,你在 Windows XP (不含) 以前的作業系統,要輸入這些罕用字是很辛苦的,甚至你輸入的這些字拿到別的電腦能不能看還是個問題。
而我認為,甄選入學委員會在這個 Windows 作業系統的編碼混亂過渡期,不得不選擇了使用 Big5 撰寫程式──或著說,使用舊時代的架構寫程式,讓新的 Windows 直接進入 Big5 的相容模式──,並提供用於 Windows 的非 Big5 漢字造字檔 (可以在網站上下載到,對照表在這裡) 以及一系列的教學文件,再規定大家在上傳資料的時候一律使用這些造字集來輸入罕見字。
對照表的某一張活頁簿如下圖所示,可以很明顯看出來是把特殊用字放在 Big5 的使用者造字區 (0x8140 至 0xA0FE 、 0xF9D6 至 0xFEFE、0xC6A1 至 0xC8FE 等三個區域),以便於讓 Unicode 支援度尚不完整的 Windows 作業系統可以在(可能是) Big5 編碼的大學甄選入學作業軟體裡面,使用內碼輸入法輸入這些字:
當然,這些自訂造字是 Windows 在用的, Mac OS X 無法使用;所以上面這張圖的框框都是亂碼。
著名的罕用字 (a.k.a. 所謂的「電腦打不出來的字」),如堃、寗、喆,這些名人的名字一天到晚出現在報章雜誌上,但不幸的是,古時候設計的 Big5 編碼沒有收錄,從古時候傳承下來的媒體製作軟體 (報章雜誌、新聞剪輯) 也打不出來,只好造字。而幸運的是,Unicode 有收錄這些字。在中研院的全字庫網站可以查到這些字在 Unicode 裡面的編碼,以及你的電腦有沒有辦法顯示這些字。例如堃這個字。
—
那再回到原問題:為甚麼會有搜尋不到字的問題?
如果所指的是這些罕見字無法搜尋,那答案很明顯了:假如你直接用注音輸入法輸入寗(「ㄋㄧㄥˊ」),那你得到的是 Unicode 的「寗」這個字 (Unicode: U+5BD7),而不是甄選入學委員會造給你的 Big5 造字。別忘了前面說過,電腦讀取文字是只讀編碼,再從字形裡面去找該編碼對應的文字圖形,顯示給你看。
所以理所當然,你使用注音輸入法打進去的這些特殊字來當關鍵字,去搜尋 PDF 檔案,結果是找不到。對機器來說,兩個編號不同的東西就是完全不同的東西。──這是我認為花蓮女中提出此建議的根本原因
使用這種文字系統 (Big5 + 自造字),好處是電腦在處理的時候,遇到亂碼字照常處理,反正電腦只看得懂字的編碼,分不清楚字是長甚麼樣子;輸出成 PDF 後,就算電腦裡面沒有安裝自造字集,還是照常顯示 (PDF 儲存文字時是把編碼和長相 (向量圖) 一併儲存) 。
但壞處就是使用 HTML 輸出的時候,這些字在未安裝造字集的電腦上是亂碼,例如東吳大學的錄取榜單,以及大部份大學發佈的 HTML 版錄取榜單。有少數幾個學校很聰明地把整份榜單的罕用字全部重打 (Unicode 漢字),傳到別的電腦也可以看;有的學校卻是更自做聰明地把整份檔案改用 .txt 輸出,那其實看到的效果跟 HTML 是一樣的。更有些學校把整份榜單用圖片輸出,雖然「對大眾傳遞榜單內容」這件事是沒問題的,但若說到數位化,這是在走回頭路。
—
但改用 Unicode 就解決了嗎?當然不是,你永遠不知道哪天又冒出一個人的名字是連 Unicode 都沒收錄的,但至少可以省下大部份罕用字造不出來的麻煩。大學甄選入學委員會在民國 97 年的大學甄選入學把網站整個轉成 Unicode (UTF-8 with BOM),包括榜單(通過篩選名單以及最終分發名單),也許他們也注意到文字編碼這件事 (只支援 Big5 的作業系統幾乎沒人在用了)。
這是值得肯定的,但部署 (distribute) 到各高中職、報名單位以及大學的甄選入學作業軟體,要重寫就不是那麼容易的事了,我猜想這套軟體可能整份專案是從 Windows 98 時代就一直寫著了,要轉換編碼不如砍掉重練的感覺…。
—
你說這干我什麼事?我都大二了應該不需要管這個。的確是這樣,不過我會寫這麼長篇來針對這個主題寫文章,是因為花蓮女中提出的該建議裡面寫到這一句:
「PDF格式的榜單連第4點中提到的交叉查詢網站的作者也都嫌棄咧」
其中提到的第 4 點是寫這樣:
「網站上出現一個大二生所寫的交叉查榜網站,中心是否知悉?對於這樣的網站是否侵犯學生的隱私權?有否防範的作為?或者是,乾脆由中心自己寫一個…」 ──花蓮女中
啊不好意思,這網站就是我寫的…
所以只好寫一篇來澄清某些事實,例如:
我沒有嫌棄 PDF ,而是當我要處理榜單資料時,PDF 格式比 HTML 或 txt 還難處理。PDF 在複製-貼上的時候,空白的部份沒辦法複製,等於是我要另外寫更噁心的 Regular Expression 或直接寫 Parser 來讀這些檔案。而甄選入學委員會提供的 HTML 彙整輸出,格式就那麼死板,一隻 Parser 就吃光光了。甚至自做聰明用 txt 發佈的檔案,處理起來會比 HTML 還容易。我只記得去年我還要處理文字編碼的問題 (Big5),今年這個問題還比較小。
對於寫程式的我來說,我要處理 PDF 是比較麻煩;但若僅針對「把榜單內容散佈給大眾」這件事,PDF 是最佳的選擇。PDF 的優勢在於「所見即所得」,輸出的時候就像你在「列印」,在任何讀檔軟體開,格式都不會亂,也不需要像 Word 文件、HTML 或 .txt 那樣要擔心罕見字編碼的問題;當然也可以搞一些花樣 (例如交通大學的榜單還有浮水印,以及密碼鎖),更重要的是,這種檔案拿到 Windows, Linux 或 Mac OS X 都可以開,就算作業系統沒有內建讀檔軟體,Adobe 官方也有提供免費下載的讀檔軟體。對於「散佈」這個目的來說, PDF 是更勝於 HTML、 Word 文件以及 .txt 的。
該建議把 PDF 無法搜尋文字和我的交叉查榜網站放在一起講,可能會誤導成「做交叉查榜的那個人也認為 PDF 無法搜尋文字」,當然我的說明已經寫在前文了。
我身為一個非官方的網站營運者,我不可能要求各大學統一榜單格式,當然也不可能要求他們提供我指定格式的榜單檔案,頂多只能見一種格式殺一種,Parser 一直寫就是了,要嘛請強者鄉民幫忙寫程式也行。
—
至於所謂交叉查榜的網站是否有侵犯隱私權的問題,國立中正大學的大學甄選入學委員會表示:
「榜單原本就屬於公開資訊,該網站資料也並非本會所提供,應無侵犯考生隱私權之虞。」
雖然在情感上,某些出現在榜單上的考生,會希望把榜單的姓名做馬賽克或特殊處理。
—
回到文初提到的殺人句,為甚麼我要說,台灣的數位化還需要再加油呢?
從甄選入學各大學發佈榜單檔案的方式就看得出來。
97 年的大學甄選入學交叉查榜,在收集資料的過程中,我大致記錄了各校使用的榜單格式,記錄在這個網頁的表 1。不過我沒記錄使用的文字編碼,我印象中有少數一、兩個學校還特地把罕用字以 Unicode 記載,甚至有的學校把罕用字拿圖片去貼…。
大部份學校在發佈榜單時是直接拿甄委會提供的 HTML 輸出程式來發佈,因此內文編碼是 Big5 + 甄委會的自造字,然而遇到大部份預設編碼是 UTF8 的網頁伺服器加上無法自動猜測編碼的瀏覽器 (例如 Safari 或 Webkit 系),一進去就是亂碼,還得要自己手動切換文字編碼。一部份學校使用自有的程式發佈自創格式的檔案,但大致上都朝向「印刷出來是一張精美的榜單」的目標。
以上兩種情況還可以說是無可厚非。
最誇張的應該是以 Word 文件甚至 Excel 表格,甚至 WinRAR 的 .exe 自解壓縮檔發佈的。我不知道為甚麼還有人假設「每個人的作業系統都是 Microsoft Windows,每個人的 Windows 裡面都有 Microsoft Word 以及 Microsoft Excel」。很明顯把個人電腦的世界看得太狹礙。
—
重點在於文字編碼的混亂,以及榜單未達到「散佈內容」的標準,這是我在大學甄選入學放榜作業中看到的問題。
如果說數位化要從公家機關做起,那很明顯有不少公家機關拿到的分數是不及格的。



「WinRAR 的 .exe 自解壓縮檔」這我以前還是小大一時,有鬧過笑話(詳情就不提了)XD
其實在 Mac 上可以把副檔名改成 rar,一些支援 rar 的解壓縮軟體就可處理。不然改用 unrar x 『rar自解壓縮.exe』 也是可以。
lauct
2009 年 一月 15 日 星期四 at 16:46:15