Unicode是先按部首,再按筆畫數排序,而中文字典也是按這種順序排序。一般的中文字典的檢索方式包含部首、筆畫數和注音三種,檢索(Search)和排序(Sort)有關,在介紹過筆畫數和注音兩種排序之後,本文擬介紹部首排序(Radical sort)的實作。
個人電腦最早的中文內碼是BIG5,是先按筆畫數,再按部首排序;但目前個人電腦的中文內碼是Unicode,是先按部首,再按筆畫數排序。這兩種內碼的排列方式何者為優呢?答案是Unicode,理由有二:(一)Unicode先按部首,可以分成214類,但BIG5先按筆畫數,只能分成30至40類。(二)Unicode後按筆畫數,計算筆畫數是檢索必經的過程,但BIG5後按部首,意義已經不大。
中文字若按注音排序,優點是檢索容易,缺點則是不會念的字就無法檢索。若按筆畫數排序,優點是不會念的字也可檢索,缺點則是每個字都需要計算筆畫數。 若按部首排序,優點是分類清楚,缺點則是和筆畫數排序一樣,即每個字都需要計算筆畫數。
在知道部首排序的必要性和重要性之後,下面將以Excel來實作部首排序。來源資料是部落格的「暱稱」,處理者應增加三欄,一是「部首筆畫數」,二是「部首」,三是「剩餘筆畫數」。若是確知暱稱首字的部首,則直接在部首欄輸入,否則可連到全字庫網站,選複合查詢(網址是http://www.cns11643.gov.tw/AIDB/query_composite.do),對於會念的暱稱首字,可同時作注音和筆畫數查詢;對於不會念的,也不確定部首者,可作部首和筆畫數查詢;對於不會念的,也不知道部首者,則只能作筆畫數查詢。查得或確認部首後,應輸入部首欄。
部首欄全部輸入後,應計算每個部首的筆畫數,之後輸入部首筆畫數欄,接著應計算每個暱稱首字除去部首的筆畫數,之後輸入剩餘筆畫數欄。排序時,主要鍵選部首筆畫數,次要鍵選部首,第三鍵選暱稱,主要鍵與兩個次要鍵皆採遞增,即由小而大的順序(Ascending order)。
接著將列出部首排序的實例,為了版面的編排,部首相同者會排在一起,中間用斜線/線隔開,每一筆資料包含部首筆畫數、部首、剩餘筆畫數和暱稱等四項,如下所示:
2 二 0 二泉印月/ 2 二 6 亞希淇是一隻絕不搞笑的俏狐狸
2 人 7 俗客
2 十 6 協理/ 2 十 7 南寒寂
3 口 9 喜.LOVE
3 大 0 大羅府/ 3 大 0 大羅府蔡老師
3 子 0 子甯
3 小 0 小武/3 小 0 小奕(《櫻子》真好看!)
3 山 10 嵩麟淵明
3 工 2 巧巧來了
3 廾 4 弄潮兒
3 宀 12 寬心
3 彡 8 彩虹心靈花園
4 心 6 恰恰: 艋舺 怎麼變小了? / 4 心 11 -慕橙-/ 4 心 19 戀戀 風塵 /4 心 5 思于/ 4 心 9 愛的大大 / 4 心 9 愛麗絲維維
4 木 9 楊若林(賞文)
4 水 0 水 羚/ 4 水 3 江依萍/ 4 水 5 法蘭客/ 4 水 6 洛城早安/4 水 7 海拉/ 4 水 8 淘氣麗莎 / 4 水 11 漁樵子(笑口常開) / 4 水 12 澗 泉
4 火 8 【無 ★ 言】
5 玉 5 ☆珂玼☆天生的不平等!/ 5 玉 14 。璽兒。
5 田 6 異色
5 白 0 白面書生
5 示 5 (祝福滿滿)
5 疒 8 痴
6 糸 6 絕塵詩雨 詩╱韻開了情紋(詩集再版)
6 羊 6 善良:::::一段情:::: /6 羊 6 善容居士/ 6 羊 3 美賢
6 老 0 老宅男 / 美網賽莊佳容 彭帥 女雙爭冠 /6 老 0 老齊
6 虫 9 蝶非/ 6 虫 10 螞蟻蝴蝶
6 艸 9 董哥/ 6 艸 11 蔡頭伯/ 6 艸 4 芸之/ 6 艸 5 英爵
7 言 9 謎 otivia / 7 言 10 謙水
7 酉 7 酸柳丁
7 辵 9 逸名
8 采 0 采芯雁
8 金 0 金戈戈
8 門 4 閒雜人等
8 雨 8 霏 霏
9 風 0 風的心聲
9 香 0 香香美代子
10 馬 0 馬蹄
10 鬼 11 魔鬼ㄅㄚˇ拔
針對以上資料作排序,若不先按部首筆畫數欄,而先按部首欄,會造成宀、彡、疒和辵等部首被不當置於最後面的情況。原因是這四個部首都無BIG5碼,也就是它們在BIG5內碼當中,既不屬於常用字集,也不屬於次常用字集的字,排序時只好置於最後面。
部首排序要能夠實用,就是應先標「部首筆畫數」,以利找到部首,再標示除去部首之後,漢字「剩餘筆畫數」,以利找到漢字,作法要如同中文字辭典一般。微軟的「插入符號」可用來插入輸入法所無法輸入的漢字,但是整個字集只按部首排序,未標明兩種有利於檢索的筆畫數。因此,筆者才會特地撰寫四篇文章,對插入符號做出改進,以嘉惠中文的使用者,有興趣的讀者請參考以下所列的資料。
[相關閱讀]