Contents ...
udn網路城邦
部首排序實作的技巧
2010/04/23 11:34
瀏覽4,348
迴響2
推薦38
引用0

  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內碼當中,既不屬於常用字集,也不屬於次常用字集的字,排序時只好置於最後面。

部首排序要能夠實用,就是應先標「部首筆畫數」,以利找到部首,再標示除去部首之後,漢字「剩餘筆畫數」,以利找到漢字,作法要如同中文字辭典一般。微軟的「插入符號」可用來插入輸入法所無法輸入的漢字,但是整個字集只按部首排序,未標明兩種有利於檢索的筆畫數。因此,筆者才會特地撰寫四篇文章,對插入符號做出改進,以嘉惠中文的使用者,有興趣的讀者請參考以下所列的資料。

[相關閱讀]

  (1) 輸入漢字的利器,以「部首和筆畫」做檢索的定位

  (2) 輸入「增補字集」漢字的利器,以「部首和筆畫」做檢索的定位

  (3) 輸入漢字的利器,以部首做檢索的定位

  (4) 輸入「增補字集」漢字的利器,以部首做檢索的定位

有誰推薦more
全站分類:興趣嗜好| 電腦3C
自訂分類:資訊的應用
上一則: 校正寫字筆順的利器
下一則: 筆畫數排序實作的技巧
迴響(2) :
2樓. ti (人回來了 )
2010/04/24 10:54
學點東西,真好~

來這裡,每次都可學點東西

真好~

  謝謝ti格友的回應,知道您喜歡本部落格的文章,甚感欣慰,歡迎您常來造訪,也祝您常有收獲。

王國良(阿國) 於 2010/04/25 22:18回覆
1樓. 愛麗絲維維 - 維伊
2010/04/23 19:47
@@
@@還是不懂!
  歡迎愛麗絲維維格友的回應,也許是您首次見到部首排序的作法,比較不熟悉,如果您有興趣的話,可以按照本文所介紹的方法,實際用Excel去實作一遍,即可明白。 王國良(阿國) 於 2010/04/24 09:23回覆