五筆字型輸入法

五筆字型輸入法，簡稱五筆、又稱王碼，是王永民在1983年8月發明的一種漢字輸入法。中文輸入法的編碼方案很多，但基本依據都是漢字的讀音和字形兩種屬性。五筆字型完全依據筆畫和字形特徵對漢字進行編碼，是典型的形碼輸入法。

五筆字型輸入法主要用於使用簡體中文的中國大陸，過去，拼音輸入法嚴重重碼，五筆輸入是最方便的選擇。但隨著智能拼音的興起，以及拼音輸入法天然的「零訓練」特性（對於掌握漢語拼音的使用者，拼音輸入法幾乎不必專門練習），需要專門訓練才能熟練應用的五筆輸入法在應用人數上已經不具備優勢。但極低的重碼率，保證了五筆的輸入速度仍遙遙領先，因此大多數專業打字員至今仍然習慣使用五筆字型。

## 版本

<image>

王永民自1983年發明五筆字型以來，共推出了三種編碼方案，即86版、98版和新世紀版：

### 86版

86版也就是老式的五筆，又稱4.5版，顧名思義於1986年推出。使用130個字根，可處理GB 2312-80漢字集中的6763個漢字。由於習慣問題，它至今仍然是擁有使用者群最為巨大的編碼方案。同時，此版本專利權已過，其編碼進入了開源領域，其他人可以自由使用和修改，也促進了此版本的流傳。

後來王碼官方改進了原86版一些爭議的編碼，包括取消了原86版的一些「無理碼」，規範了識別碼等。因此又有原86版和調整後的86版兩種編碼。在官方網站上編碼查詢的結果，只會顯示調整後的86版。然而坊間不少輸入法軟體仍採用原86版的編碼，未經調整。

### 98版

98版是一種改進型的方案，於1998年推出，其編碼的科學性更強、更易於學習和使用。使用259個碼元，可處理GBK漢字集中的21003個簡繁漢字。但二者在編碼原則上大同小異。

### 新世紀版

新世紀版於2008年1月28日推出，採用新設計的字根體系更加符合分區劃位規律，更加科學易記而實用，按規範筆順寫漢字的人，取碼輸入更容易，可以處理GB 18030-2000漢字集中的27533個簡繁漢字。

### 版本的使用情況

設計者認為，86版的字根設置不如98版和新世紀版科學。但是由於86版較先發布，且98版和新世紀版五筆字型編碼的專利權尚掌握在王碼公司手中，而王碼公司反對其他公司在未授權的情況下開發和發行五筆字型輸入法，因此86版五筆字型編碼及相關軟體的使用者和輸入法程序都比98版和新世紀版多。

- 從學習的角度看，有的人包括設計者在內的認為三個版本五筆相比較，86版較難學習，很多筆畫多的字沒有字根，導致很難拆分；也有的人認為由於86版較先發布，很多人已經掌握了86版的字根排布，很難再接受98版或新世紀版的五筆字根排布。
- 重碼問題一直是困擾漢字輸入法的一道難題，五筆字型一樣會有重碼。三個版本的重碼相差不大，而新世紀版五筆在重碼實用頻度得到降低。
- 從字形上看，86版很多字都沒有完全以簡化字的字形出發，而以舊字形編碼，造成很多字不按規則輸入，形成特例字。98版已經較為改進這一類情況，使得輸入此類字的時候能正確區分其左右，上下，外內等因素，但並沒有根本解決此問題。
- 折的部分由於向右偏移，造成不順手、不習慣。
- 86版過分在乎重碼字，以規則去區分兩個形近字，如（日與曰，未與末），但加入詞組後，重碼仍無法避免（尤、萬、尢）。98版在修改字根排布之後較少出現這類情況。
- 86版設計的時候只適用於簡化字，目前只有少數輸入法支持五筆輸入繁體字，而且繁體字輸入在極少字根下十分困難，且大多是輸單字時可直接用繁體編碼，輪詞組時則需要用簡體字的編碼，輸入法會自動切換成對應的繁體詞組。98版和新世紀版的更新中把一些拆分過量的字根和碼元進行了整合，使之更容易支持繁體字。

## 字根

五筆字根是五筆輸入法的基本單元，86版使用234個字根，98版使用259個字根，新世紀版使用了226個字根。

## 五筆中的漢字結構及字型

基本字根在組成漢字時，按照它們之間的位置關係可以分成四類結構。

- 單：基本字根本身就單獨成為一個漢字。這種情況包括鍵名字和成字字根。如：口、木、竹等。
- 散：指構成漢字的基本字根之間可以保持一定的距離。如：漢、湘、結、別、安、意等。
- 連：指一個基本字根連一單筆畫。如：「丿」連「目」成為「自」。
- 交：指幾個基本字根交叉套迭之後構成的漢字。如「申」是由「日」交「丨」，「夷」由「一」交「弓」交「人」交叉構成。

在五筆中，漢字分為左右型、上下型和雜合型漢字。

<image>

## 取碼原理

五筆將漢字筆劃分為五個區：即：橫（同提）、豎、撇、捺（同點）、折五區。把字根或碼元按一定規律分布在25個字母鍵上（即標準的QWERTY鍵盤，不包括Z）。取碼時最長四碼，最短一碼。

2006年12月，王永民又在此基礎上，研究出用於手機輸入的基於6個碼元和「右手法則——前四末一」取碼法的數字王碼。

### 鍵名字

鍵名是指各鍵位左上角的黑體字根，它們是組字頻度較高，而形體上又有一定代表性的字根，它們中絕大多數本身就是漢字，只要把它們所在鍵連擊四次就可以了。如：王：11 11 11 11（GGGG）

### 字根

在每個鍵位上，除了一個鍵名字根外，還有數量不等的幾種其它字根，它們中間的一部分其本身也是一個漢字，稱之為成字字根。

輸入方法：鍵名代碼+首筆代碼+次筆代碼+末筆代碼（如果該字根只有兩筆畫，則補空格鍵結束）

#### 86版五筆字根

- 1區橫起筆 11G 王旁青頭戔（兼）五一 12F 土士二干十寸雨 13D 大犬三（羊）古石廠 14S 木丁西 15A 工戈草頭右框七
- 2區豎起筆 21H 目具上止卜虎皮 22J 日早兩豎與蟲依 23K 口與川，字根稀 24L 田甲方框四車力 25M 山由貝，下框幾
- 3區撇起筆 31T 禾竹一撇雙人立，反文條頭共三一 32R 白手看頭三二斤 33E 月彡（衫）乃用家衣底 34W 人和八，三四里 35Q 金勺缺點無尾魚，犬旁留兒一點夕，氏無七（妻）
- 4區點起筆 41Y 言文方廣在四一，高頭一捺誰人去 42U 立辛兩點六門疒（病） 43I 水旁興頭小倒立 44O 火業頭，四點米 45P 之字軍蓋道建底，摘礻（示）衤（衣）
- 5區折起筆 51N 已半巳滿不出己，左框折屍心和羽 52B 子耳了也框向上 53V 女刀九臼山朝西 54C 又巴馬，丟矢矣 55X 慈母無心弓和匕，幼無力

#### 98版五筆字根

- 1區橫起筆 11 G 王旁青頭五夫一 12 F 土干十寸未甘雨 13 D 大犬戊其古石廠 14 S 木丁西甫一四里 15 A 工戈草頭右框七
- 2區豎起筆 21 H 目上卜止虎頭具 22 J 日早兩豎與蟲依 23 K 口中兩川三個豎 24 L 田甲方框四車裡 25 M 山由貝骨下框裡
- 3區撇起筆 31 T 禾竹反文雙人立 32 R 白斤氣丘叉手提 33 E 月用力豸毛衣臼 34 W 人八登頭單人幾 35 Q 金夕鳥兒犭邊魚
- 4區點起筆 41 Y 言文方點誰人去 42 U 立辛六羊病門裡 43 I 水族三點鱉頭小 44 O 火業廣鹿四點米 45 P 之字寶蓋補礻衤
- 5區折起筆 51 N 已類左框心屍羽 52 B 子耳了也乃框皮 53 V 女刀九艮山西倒 54 C 又巴牛厶馬失蹄 55 X 么母貫頭弓和匕

#### 新世紀版五筆字根

- 1區橫起筆 11 G 王旁青頭五一提 12 F 土士二干十寸雨 13 D 大三肆頭古石廠 14 S 木丁西邊要無女 15 A 工戈草頭右框七
- 2區豎起筆 21 H 目止具頭卜虎皮 22 J 日早兩豎與蟲依 23 K 口中兩川三個豎 24 L 田框四車甲單底 25 M 山由貝骨下框裡
- 3區撇起筆 31 T 禾竹牛旁臥人立 32 R 白斤氣頭叉手提 33 E 月舟衣力豕豸臼 34 W 人八登祭風頭幾 35 Q 金夕犭兒包頭魚
- 4區點起筆 41 Y 言文方點在四一 42 U 立帶兩點病門裡 43 I 水邊一族三點小 44 O 火變三態廣二米 45 P 之字寶蓋補示衣
- 5區折起筆 51 N 已類左框心屍羽 52 B 子耳了也乃齒底 53 V 女刀九巡錄無水 54 C 又巴甬矣馬失蹄 55 X 么母絞絲弓三匕

<image>

### 輸入單字

除鍵名字和成字字根漢字之外的漢字，如果一個字可以取夠四個字根，就全部用字根鍵入，只有在不足四個字根的情況下，才有必要追加識別碼。

#### 末筆字型識別碼

當一個字拆不夠4個碼元時，它的輸入編碼是：先打完碼元，再追加一個「末筆字型識別碼」，簡稱「識別碼」。末筆字型識別碼由漢字的末筆畫代碼和字型代碼組成。

末筆畫代碼看這個字的末筆畫的結構來決定的：

- 橫 1
- 豎 2
- 撇 3
- 捺 4
- 折 5

字型代碼是看此字的結構來的決定的：

- 左右結構型 1
- 上下結構型 2
- 其他結構型 3

最後組合起來就是識別碼。例如"好"字，他最後筆畫為「一」，所以末筆畫代碼就是「1」，好是左右型結構的漢字，所以「好」字的字型代碼也是「1」，所以「好」識別碼就是「11」，在「G」鍵上。

#### 拆分原則

- 能散不連
- 兼顧直觀
- 能連不交
- 取大優先

#### 示例

會：人 + 二 + 厶 + 捺·上下 ⇒ WFCU （三碼字）

當： + 彐 + 橫·上下 ⇒ IVF （二碼字）

凌：冫 + 土 + 八 + 夂 ⇒ UFWT （四碼字）

絕：糹 + + 巴 + 折·左右 ⇒ XQCN （三碼字）

頂：丁 + 丆 + 貝 + 捺·左右 ⇒ SDMY （三碼字）

一：一 ⇒ GGLL （單筆畫字）

覽： ǀǀ + 𠂉 +丶 + ㄇ + 兒 ⇒ JTYQ （五碼字）

眾：人 + 人 + 人 + 捺·上下 ⇒ WWWU （三碼字）

山：山 ⇒ MMMM （鍵名字）

小：小 + 亅 + 丿 + 丶 ⇒ IHTY （字根字）

### 輸入詞語

- 雙字詞

取第一字的前兩位編碼和第二字的前兩位編碼。

- 三字詞

取第一字的第一位編碼、第二位的第一位編碼和第三字的前兩位編碼。

- 四字及以上詞語

取第一、二、三和末字的第一位編碼。

#### 示例

洛陽：洛 陽 ⇒ ITBJ

新加坡：新 加 坡 ⇒ ULFH

赫爾辛基：赫 爾 辛 基 ⇒ FQUA

阿姆斯特丹：阿 姆 斯 特 丹 ⇒ BVAM

布宜諾斯艾利斯：布 宜 諾 斯 艾 利 斯 ⇒ DPYA

### 簡碼字

指一些較常用字可以用一、二或三字母編碼打出，分別稱為一、二、三級簡碼

一級簡碼包含漢語（尤其是官方語體）最常用字中的25個，為了儘可能全面地安排最常用的漢字，部分一級簡碼並非是該字全碼的首位。

但所有的二級或三級簡碼均為該字全碼的前二或三位

一級簡碼如下，86版、98版和新世紀版通用

編碼｜A｜B｜C｜D｜E｜F｜G｜H｜I｜J｜K｜L｜M｜N｜O｜P｜Q｜R｜S｜T｜U｜V｜W｜X｜Y

文字｜工｜了｜以｜在｜有｜地｜一｜上｜不｜是｜中｜國｜同｜民｜為｜這｜我｜的｜要｜和｜產｜發｜人｜經｜主

## 特殊鍵

### 「Z」鍵

由於五筆字型中，採用五種筆劃，每個字根或碼元只取前兩劃定位它們在鍵盤上的位置，所以五筆字型漢字編碼只用到了5×5＝25個字母鍵。每個字的編碼中都沒有「Z」。後來大部分五筆輸入軟體都附與Z鍵查詢功能，又叫作「萬能鍵」或「萬能學習鍵」。初學者可以在對某個字不確定其拆分時，使用「Z」鍵代替不確定的字根或碼元。也有一些五筆輸入法使用「Z」鍵來實現拼音反查五筆或符號輸入功能。早期DOS系統中Z鍵可以用在任何位置，然現今大多數五筆輸入法中Z鍵均無法在首位作為不確定的字根代替碼。一些輸入法中若在首位輸入Z則跳出特殊符號選擇列表。

### 「L」鍵

與「Z」鍵的用途為大多數熟知不同，「L」鍵在五筆編碼中也有許多人不太了解的特殊用途：

單筆畫字：編碼方案對單筆畫字的編碼規定為「兩個單筆畫字母加兩個L」，如一（GGLL）、丨（HHLL）、丿（TTLL）、丶（YYLL）、乙（NNLL）。由於豎、撇、捺構成的字不為大多數人認識，而「一」字有一級簡碼（G），乙字又不常用（偶爾用到時，一般不記得正確編碼的輸入者常會用別的輸入法代替輸入），所以這一編碼方案細節常被人忽略。

解決某些重碼問題：詞組「勞動」與「蔻」字，如果按編碼方案，其編碼均為（APFC），因早期的五筆輸入法不支持詞組與單字重碼，按照一般的規定，重碼時應是以單字優先，可是相比之下，「勞動」是常用詞，而「蔻」字幾乎不會單獨出現，通常總是以詞組「豆蔻」的形式出現，所以，為了方便輸入以及減少重碼，在最終方案中蔻字的編碼被強制設為（APFL），但近年來因五筆輸入法支持詞組與單字重碼，部分輸入方案已將「蔻」字編碼改為APFC。

類似地，早期版本的五筆將「靨」字的編碼強制設為（DDDL），以避免和鍵名字「大」（DDDD）重複.

## 以舊字型為本

- 筆畫「㇀」（提），一般寫法當作「丶」（點），有時手寫體豎鉤（亅）以「一」（橫）或「乙」（折）代替。
- 「象」字，簡體字寫法中間為口（K），而實際用橫日（J）

## 評價

讚許觀點｜批評觀點

五筆鍵碼短、輸入快，多簡碼，一個字或一個詞組最多只有四個碼，適用於簡化字。｜五筆雖然單字的重碼率低，但詞組的重碼率高，因此，五筆普遍不使用大詞庫，以防止過多重碼，但詞庫太小時，打字反而不方便，尤其現在各種智能拼音輸入法的興起，五筆低重碼率的優勢已大大縮小。由於開始設計時是針對簡體字，雖然日後經過不斷改善，86、98版都可直接用正體字編碼，但使用效果上還有待進一步優化。

五筆練習對分拆漢字的能力是很好的訓練，並能鍛鍊個人的認字能力。例如「尷尬」二字中的「尢」常被誤寫為「九」，五筆按「尢」拆分可以糾正這種錯誤觀念。五筆輸入法能在一定程度上避免使用拼音輸入法過度而造成的提筆忘字的問題。｜為了減少重碼，五筆中有大量的無理碼，這不符合漢字的結構和書寫規範，因此，並不能鍛鍊人的認字能力，長期用無理碼打字，使人們對漢字有了錯誤的認識，反而有害。中華人民共和國教育部就是因為這個原因沒有在學校強制推廣五筆。例如，按規範「力」「刀」「萬」「方」「乃」等一類字的末筆應為撇，可是86版五筆字型卻規定為折；「瓦」的末筆應為中間的點，86版五筆字型卻規定為折；「戈」「戔」「我」「咸」「成」「戊」「戌」「戎」等一類字的末筆應為右上角的點，86版五筆字型卻規定為倒數第二筆撇，凡此等等。「傳言台灣教育部就是因此而將此類含有戈的字改筆序成先點後撇。」此問題在98版及世紀版得到修正。

五筆只需考慮字形，可輕鬆地按編碼規則輸入自己會寫（或照稿子），但不認識不會讀的字。且中國方言眾多，漢字發音差異頗大，但字形相對統一，對於不會拼音或掌握不好的人，五筆佔優勢。｜不適合輸入只知道發音而忘了怎麼寫的字。

較易實現盲打（不看螢幕），尤其單字時。而拼音不論單字還是詞組，都有極高的重碼率，只有在輸部份常用語句上才會惟一（或者說排在第一個選項上）（如：你好呀，我吃飯了，這是什麽）。對於古文、人名、生僻的專業術語，五筆的優勢非常明顯。｜輸常用句子時，智慧拼音輸入法亦可盲打，且不輸五筆，甚至快於五筆（由於五筆在輸片語時，重碼率不再是優勢而一個句子又不能光用單字模式）。

會打五筆的人用字比打拼音更準確。｜打字準不準確取決於打字者是否細心，沒有錯別字的拼音輸入的文章很多，用五筆時出現的錯別字也並不罕見。例如2012年11月3日《江南晚報》頭版頭條「亂撳喇叭被罰不要喊冤」寫成了「亂撳嗽叭被罰不要喊冤」。

由於有五筆字型口訣，並不難於記憶。實際熟練後，打字時手指會自然地去尋找所需字根，並不像初學者那樣打個字時還得口中念念有詞。｜五筆字型使用的是字根和碼元作為輸入時的助記符，86版使用130個字根，98版更需要使用245個字根，記憶量要比拼音或注音輸入方法大。不僅如此，五筆字型的字根排布沒有規律，遠不及其它形碼，增加了它的記憶難度。而且，五筆字型一旦有一段時間不用，就會忘記，需要重複學習，增加民眾學習負擔。

## 輸入軟體

### 王碼五筆輸入軟體

- 王碼五筆型18030推出，是由於部分使用者不適應98版，而又有輸入更多漢字的需要而出現的。它基本延用86版的編碼，而能處理中國國家的強制性標準GB 18030-2000字集的漢字，該字集可以處理27533個漢字。
- 王碼大一統五筆字型輸入法軟體是現在的正式五筆字型輸入法軟體，安裝包默認帶有86、98和新世紀3個版本。

### 其它五筆輸入軟體

在王碼五筆出現之後，又出現了許多其它的五筆輸入法。由於86版編碼的專利開放，它們大多採用86版的編碼方式，但也有使用者個人提供98或新世紀版編碼的碼表。它們在造詞等功能上加以改進，也獲得了一定的使用者群。這其中也有一部分是以五筆編碼形式為主的輸入平台，它們不僅可以以五筆方式來輸入，也可以根據使用者的需求安裝不同的碼表以提供其它編碼的輸入方式。

### 常見的五筆輸入法

- 極點五筆
- QQ五筆輸入法
- 搜狗五筆輸入法
- 萬能五筆
- 冰凌五筆
- rime輸入法
- 王碼五筆即後期的微軟五筆
- 清歌輸入法

## 獎項與應用

- 解決了漢字進入電腦的世界性難題，2008年1月8日，王碼公司研發的「大一統五筆字型」獲得中國國務院頒發的「國家科學技術發明獎」，成為唯一獲此獎項的漢字輸入法。
- 新華社評價「王碼」是「在中國文化史上其意義不亞於活字印刷術的重大發明，中國國家郵政總局發行了「當代畢昇——王永民」的郵票。在中科院院長路甬祥主編的《科學改變人類生活的100個瞬間》一書中，將王永民稱為「把中國帶入資訊時代的人」。