Skip to the content.

徐碼·爾雅輸入法·2022版·簡明教程

朱宇浩 初寫於2022年5月31日

本文字形依據中華人民共和國《古籍印刷通用字規範字形表》中制定的繁體字標準。

点擊此处阅读简化字版本

1. 初識徐碼

1.1. 漢字輸入法

輸入法,顧名思義,就是漢字(或其他字符)錄入進電腦中的方法。大多數時候,輸入的過程,有兩個階段:

  1. 用戶將漢字,用一定規則,編成一串字母、數字、符號的組合,輸入電腦中。
  2. 輸入法會串字符,根據一定的規則,轉化爲對應的漢字,顯示到屏幕上。

當我們用「輸入法」指代第二個階段時,一般我們指的是軟件。徐碼可依託 Rime(小狼毫、鼠鬚管等)、小小輸入法、大大輸入法等平臺實現輸入。

點擊此處,瞭解如何在各平臺(Windows, Macos, 安卓,iOS)上安裝並使用 RIME·徐碼。

本教程中的「輸入法」,特別指代上文中提到的第一階段,亦即:用戶將漢字,用一定規則,編成一串字母、數字、符號的組合,輸入電腦中。

1.2. 輸入法種類

輸入法,根據其特點,一般分爲三類

音碼輸入法,最常見的例子就是拼音了。我們將漢字對應的拼音,直接輸入到軟件中,軟件會顯示對應的漢字供你選擇。

形碼輸入法,最常見的例子是五筆字型。我們將漢字拆成若干部件,輸入每一個部件對應的代碼,軟件會顯示出漢字。常見的形碼,還包括五筆字型,鄭碼,倉頡等等。

徐國銀老師发明的徐碼繁簡通打輸入法(爾雅輸入法),便是一種形碼輸入法。

1.3. 形碼和音碼的對比

形碼輸入法和拼音最大的區別,在於拼音輸入法,知道讀音,便能輸入漢字。而形碼輸入法,知道寫法,便能輸入漢字。

音碼的優點,不言而喻,只要知道標準的發音,便可以打出字來。同時,漢語拼音也是當代人的必修課,不需要特別地學習,因此,它的學習成本近乎爲零。

音碼缺點,那便是同音字很多,經常需要選字。雖然當代的不少輸入軟片在「智能化」上下足了工夫,但在輸入一些書面語、古文、或者生僻字詞時,還是需要選字。大量翻頁會打輸入的節奏。

形碼的優點,便是像寫字一樣去打字。你不需要知道每個字的具體讀音。同時,因爲編碼比較離散,你甚至不怎麼需要去選字。這在寫作時,保證你的思路不被打斷。在看打、或者打古文的時候,形碼的速度很快。

音碼缺點是,如果你一下字忘了這個字的寫法,那就會卡住,必須臨時改用拼音輸入法(反查)。

至於音碼和形碼哪個更好?這就是仁者見仁、智者見智的問題了。當然,也依賴於你的需求和使用場合。筆者在日常對話時使用拼音,在寫作時使用徐碼,做到揚長避短。

1.4. 徐碼的特點

徐碼作爲一種形碼輸入法,除了繼承了剛剛所説的形碼的全部重點外,還有一些自身的特點,讓它在衆多輸入法中脫穎而出。這裏僅舉例一二:

這個對比一下五筆、鄭碼、徐碼、倉頡在不同漢字字符集下的單字全碼的重碼數量。更多比較見此頁面 https://zhuyuhao.com/chinese-input-schemes-statistics/

其中:

形碼方案 通規 國字 常用繁簡 GB2312 BIG5 GBK 動態重碼率 動態選重率 長度
五筆86 787 357 1938 537 2236 6582 7.77% 0.34% 四碼
五筆98 763 329 1867 515 2150 6368 8.56% 0.37% 四碼
五筆06·新世紀 831 387 1970 532 2373 6610 7.90% 0.31% 四碼
鄭碼 843 311 2063 563 2206 6590 7.50% 0.59% 四碼
徐碼22 495 131 678 320 1104 2899 3.49% 0.10% 四碼
倉頡五代 498 164 714 422 978 2893 12.07% 0.89% 五碼

可見,徐碼在任何字集下都有着優異的表現。尤其在「繁簡通打」模式下,它是絶對的王者。

1.5. 徐碼的資源

徐碼(2022版「新徐碼」)的 QQ 羣是: 761401688。

你可以在羣裏和大家討論,同時獲取學習資料、字根圖、最新碼表。

1.6. 學習步驟

學習徐碼,一般從瞭解拆字和熟悉字根開始。

拆字,就是把漢字按照一定的規則,拆成唯一的部件組合。拆分出來的部件,便叫做「字根」。

這裏所謂的「部件」,不僅包括你我熟知的「偏旁部首」,也包括了一些基本筆劃,甚至是一些漢字。因此,筆畫輸入法(橫豎撇捺折),也是一種特殊的形碼。那麼我們爲什麼要創造別的形碼呢?因爲一個字若用十幾個、甚至幾十個字母代替,太没有效率。故而,我們會截取一些比較大的部件作爲字根。

對於漢語使用者,拆字並不是一件陌生的事情。我們自小就學會將一個字拆成分離的部首,進行檢索。大多數時候,這是非常直觀的。比如

對於徐碼而言,大多數的字,也是這麼拆分的。並且大多數的偏旁部首,也都是「字根」。

所以恭喜你,對於大多數的漢字,你已經可以憑藉直覺進行拆分了。

本教程推薦的學習步驟如下。

  1. 看字根圖,大致瞭解徐碼的字根有哪些,以及它們對應的編碼。
  2. 瞭解徐碼拆字的規則,學會如何得到唯一的拆分方法。
  3. 學習編碼規則,學會如何將拆好的字根轉化成最終的徐碼。
  4. 記誦最常用的50個字根的編碼。
  5. 直接在輸入軟件中練習前500常用字,邊練習邊記憶字根。
  6. 閲讀進階教程,更加深入地瞭解一些徐碼的特點。

以上內容不論順序,可以交叉或同步進行。

2. 字根編碼

2.1. 大碼和小碼

在徐碼中,每一個字根,都對應了兩個字母。換句話説,徐碼使用的是雙編碼字根。這一點和鄭碼相同,和五筆不同。特別的:

字根的大碼和小碼的分佈,並不是隨機的,而是有一定的規律。在接下來的教程中會進行介紹。

2.2. 字根圖

我們將字根的分佈畫出來,這便是字根圖。如下。

圖中,每一個方框右上角的大寫字母,就是大碼,也就是一群字根的「戶口」。而字根右下角的小寫字母,則是小碼,也就是單個字根的「姓名」。

將大碼和小碼組合起來,就是一個字根的編碼了。比如:

字根圖是查詢字根的重要工具,初學者應當時常將它放在手邊,以利用查詢。

徐碼字根圖

2.3. 字根大碼的規律

字根大碼,是按照字根第一筆的筆畫來制定的。

一般地,各字母上的字根呈現以下的規律:

其中,只有 A 和 C 鍵上的字根需要特别記憶。

2.4. 字根小碼的規律

2.4.1. 主根

每個大碼下,都有若干字根比較重要,使用頻率高,叫做「主根」。

第一主根的小碼是v,第二主根是u。例如:

注意:我在這裏使用大寫和小寫的拉丁字母,是爲了區分大碼和小碼的概念。在實際打字的過程中,不需要區分大小寫。

2.4.2. 副根

另一部份字根,我們叫它「副根」。

副根的小碼是除了uv的其他的字母。

一般情況下,副根的小碼是它的漢語拼音的第一個字母(請注意,這只是一種記憶方式,並不是説明徐碼是一種音形碼)。例如:

3.4.3. 字根練習

必練:以下字根是最常見的50個字根,首先學習它們,對於打字的進步提升最大。

口氵艹扌木亻日一人丷亠土冖宀月女丿忄十讠王⼫纟大禾火又⼂厶勹𠂉阝冂山⺕八广钅虫𥫗⺌目𠃌米⻊白夊𠂆立

請通過查詢字根圖,寫出以下字根的編碼,分辨它是主根還是副根,並用輸入法軟件打出這個字根。

選練:以下字根是最常見的第51到第100字根,繼續學習它們,對於打字的進步提升較大。

贝𠂇石田二穴犭爫龷疒匚七厂车刀工乂冫隹龶几雨力弓士小马囗门文止耳户耂方⺊戈夕罒乚西心丨干衤夫丁巾彳

選練:閲讀字根圖上的全部字根,將它們逐一輸入到電腦中,從而對字根編碼以及它的性質有一個初步的印象。

3. 拆字規則

先前説過,拆字,就是把漢字按照一定的規則,拆成唯一的字根組合。

我剛剛用的「部」字爲例,説明了拆字的一般形式。這種將字拆成直觀的、分離的部件的方法,足以應付大部分漢字的拆分了。但在實際使用中,遇到這個問題:一個獨體字,本身不是字根,怎麼辦?這時候,我們要把它繼續拆成更小的字根甚至筆劃。比如:

有時候,獨體字的拆分不是很直觀。比如「再」拆成「王冂」兩個字根。遇到此類字時的拆分,往往需要一些經驗和練習。所以當你遇到不會拆的字時,應該主動查詢它的編碼,及時學習。

更麻煩的情況是,一個字好像有幾種拆分方法,比如:

這種一字多拆的情況,任何形碼中,都是積極避免的。因爲一字多拆,會造成極大的不確定性,並造成編碼的混亂。

徐碼,通過一套嚴密的規則,使每一個漢字,都只有唯一的拆分方案,完全消除了不確定性。

徐碼拆字規則的按優先級排序如下:

  1. 字根最少
  2. 符合筆順
  3. 原形字根
  4. 字根離散
  5. 字根相連
  6. 字根相交
  7. 筆劃斷開
  8. 字根取大

可歸納爲:少>順>原>散>連>交>斷>大

取根時,按優先級從高到低依次,最終得到唯一的拆分方案。

注:「原形字根」是新版徐碼引進的新規則,目的是爲了讓拆字更加直觀。老版徐碼的拆字規則爲,少>散>連>交>斷>順>大

以下爲規則詳細介紹:

3.1. 字根最少

字根最少,意思是拆分一個字時,應該使得字根的數量最少。比如:

3.2. 符合筆順

符合筆順,指的是字根的每一筆,完全符合原漢字的筆順。比如:

3.3. 原形字根

在徐碼的字根,分爲兩類,一部分稱爲原形字根。另有一部分字根,是根據原形字根變形而來的,在字根圖中,這部分變形字根列在字根原型的右下方,以小字顯示。比如:

注意,原形字根和變形字根都一定存在於字根圖中。字根圖没有的字根永遠不能叫做變形字根。

在拆字時,不變形字根的優先級高於變形字根。比如:

3.4. 字根離散

字根離散,指的是兩個字根互相分離。比如:

3.5. 字根相連

字根相連,指的是兩個字根互相連接。比如:

3.6. 字根相交

字根相交,指的是兩個字根互相交叉。比如:

3.7. 筆劃斷開

筆劃斷開,指的是將一個筆劃斷開。比如:

3.8. 字根取大

字根取大,指的是按照筆順拆字時,讓靠前的字根的筆劃數儘量地多。比如:

3.9. 字根排序規則

將漢字拆分後,我們需要將它們進行排序。大多數時候,這是非常直觀的。但有時並非如此,需要進行定義。

徐碼字根排序規則,是字根首筆符合筆順,意思是拆分一個漢字時,所有字根的首個筆劃,符合這個漢字的筆順。比如:

請注意,徐碼最終的字根排序,只要求字根的首筆符合筆順,而不是要求字根每一筆都符合筆順,比如:

3.10. 拆字舉例

實際拆字時,如果你感覺拆分方法不唯一,那麽可以用以下方法找到最優解:

注:「取大原則」又稱兜底原則,保證最終只有一個候選方案勝出。

以下通過部分例字來説明拆分規則:

3.10.1. 「重」字

「重」字,候選拆分「丿車一」和「千日二」。

依照「少>順>原>散>連>交>斷>大」的規則比較。

3.10.2. 「朱」字

「朱」字,候選拆分「丿未」和「牛八」。

依照「少>順>原>散>連>交>斷>大」的規則比較。

4. 單字編碼規則

學習了徐碼的拆字規則後,我們可以將任何一個漢字拆成唯一的字根組合。最後一步,便是把字根轉爲徐碼編碼。

單字的編碼一般是由4個字母構成,部分情況下是2個或3個字母。

在徐碼中,無論一個字能拆成幾個字根,我們只關心其中的四個根,分別是:

在編碼時,我們首先判斷一個字的首根是主根還是副根

4.1. 首根爲主根

首根爲主根時,有兩條規則:

  1. 依次取首根、次根、次末根、最末根的大碼
  2. 不足四碼時,補上最末根的小碼

舉例説明:

再次強調,首根爲主根時,需要取4個根

4.2. 首根爲副根

首根爲副根時,有三條規則:

  1. 依次取首根、次根、最末根的大碼
  2. 不足三碼時,補上最末根的小碼
  3. 在末尾添加首根的小碼作爲識別。

舉例説明:

再次強調,首根爲副根時,只需要取3個根

末尾添加首根的小碼,有時候新手會需要一段時間來適應。好在由於簡碼的存在,大多數的時候,我們都不需要輸入最後的識別碼就能出字。

4.3. 字根字

字根字,依次取其大小碼即可出字。比如:

4.4. 空格鍵的使用

在很多輸入法軟件中,空格鍵(以下用_表示)用來上屏首選字。

根據以上的學習內容,我們發現:徐碼的編碼最長不超過4個字母。由於這個特性,我們在輸入完編碼後,不一定需要按空格鍵將字打上屏幕。

空格鍵只在以下情況需要使用:

以下情況,不需要使用空格鍵:

5. 簡碼設置

學完了徐碼的單字編碼,我們發現,徐碼的單字碼長一般是2到4位之間。不少常用的字,碼長是4位,比如字頻第一的「的」字,編碼爲USUb

一種科學的輸入策略,應該使得常用字的碼長更低,從而加快輸入的速度。試想,如果輸入「的」字,每次都要按USUb四下按鍵,真是太浪費時間了。

形碼對此的優化方式,就是設置簡碼,也就是給部分漢字設置更短的編碼:比如,我們在輸入「的」時,只要按上一個字母和空格鍵,就能實現輸入。

在徐碼中,簡碼的設置十分科學,使得每一個字簡碼和全碼的編碼規則保持一致。以下進行介紹。

5.1. 一級簡碼字

一級簡碼字,又稱一簡字,指的是用一個字母爲編碼實現輸入的漢字。徐碼中,有26個高頻漢字設置爲一簡字,只要按下一個字母,加上空格,即可上屏。

一簡字的編碼,就是該字全碼的第一個字母。比如:

從A到Z排列,一級簡碼字分別是以了发那要大一在事地是上同国中我多和得他的儿家道这为

在字根圖中,一簡字就是每個字母方框的左上角的漢字。

在我們的日常交流中,一簡字大約佔據了25%的使用頻率。在徐碼中,只需要按兩個按鍵,這有效提升了輸入的速度。

5.2. 二級簡碼字

二級簡碼字,又稱二簡字,指的是用兩個字母爲編碼實現輸入的漢字。徐碼中,有676個高頻漢字設置爲二簡字,只要按下两個字母,加上空格,即可上屏。

一簡字的編碼,就是該字全碼的前两個字母。比如:

點擊此處,查看二級簡碼矩陣。

5.3. 三級簡碼字

三級簡碼字,又稱三簡字,指的是用三個字母爲編碼實現輸入的漢字,只要按下三個字母,加上空格,即可上屏。

三簡字的編碼,就是該字全碼的前三個字母。這裏不再舉例。

注意到,三簡字需要按四個按鍵才能上屏,同輸入單字全碼按鍵數一樣,因此,三簡字的設置主要爲了以下目的:

三級簡碼字,可在打字時進行熟悉,不需要特別去記憶。

6. 詞語編碼規則

除了設置簡碼,徐碼還將常用的詞語,也編成4個字母的編碼。這樣可以降低每一個字的平均碼長,提高打字速度。

徐碼的詞語編碼規則,分爲三種情況。

6.1. 兩字詞

兩字詞,取每個字全碼的前兩碼即可。比如:

6.2. 三字詞

三字詞,取前兩字的第一碼,和第三個字的前兩碼即可。比如:

6.3. 四字詞及以上

四字詞及以上,取前三字的第一碼,和最後一個字的第一碼即可。比如:

6.4. 詞語輸入的優缺點

用詞語的方式進行輸入,優點在於降低了每個字的平均碼長。試想「我们今天一起吃饭」這個句子。

可以看到,詞語全碼有效降低了按鍵的次數。

但是,詞語輸入也有其缺點,最主要的缺點包括:

因此,精簡詞庫,熟悉詞庫,打單字和打詞語相結合,是形碼高手們的修煉之路。

7. 進階教程

7.1. 口囗之辨

口(音kǒu),編碼爲Ov,是個主根。囗(音wéi),編碼爲Nw,是個副根。這兩個根如何區分?

答案是,如果方框裏有完整的筆畫,用「囗」Nw。否則一律用「口」Ov。例如:

這個規則不影響含「口」形的其他字根。比如「古」字中的「口」。例如:

7.2. 「日」「曰」字根的选取原则

當前的徐碼對方「日」「曰」的區分,是基於形狀的。也就是説:凡是長大於高的都爲「曰」,凡是長短於高的都爲「日」。但這個方法會跟隨着字體的不同而不同,有時候不合字源,也不統一。例如:

另外一種區分方法是基于字源。也就是説:凡是在古文中作「口」形,之后隶變爲「曰」形或「甘」形的字,在徐碼中作「曰」。但這個方法對方一般的使用者難度太大,且分析字源會有疏漏之處,不應用於輸入法。

第三種方法是不做區分。在漢字中,存在「日曰」對立的字形,只有三組,分别为:「日曰」、「汨汩」、「曶㫚」。在其他的情况下,不存在對立,也就不存在混淆問題。因此,取「日」还是取「曰」,可以採取更簡單的方法。卽:除了上述三組對立情况外,全部取「日」Kv根。換句話説,「曰」Ku根只需要在「曰」「汩」「㫚」三處使用卽可。這樣一來,可以顯著降低使用者的記憶和學習負擔。

然而,第三種方法還是會造成大量重碼,比如「旭」和「旮」。因爲,在徐碼中,「日」「曰」的區分,取決於字根的長寬。字形則依據 GB18030 標準。

7.3. 勹𠂊之辨

「旬」的外框「勹」Su,同「敖」左下的「𠂊」Qu都是撇加橫折鉤,但是一個在S上,一個在Q上。如何分辨呢?

答案是,如果它包圍了一個完整的筆畫,用「勹」Su。否則一律用「𠂊」Qu。例如:

8. 徐碼存疑和商榷

以下是關於徐碼中部分規則的存疑和商榷。

8.1. 「妻」字

此字官方碼表拆作「十彐女」。我提議拆作「キコ女」。

依照「少>順>原>散>連>交>斷>大」的規則比較。