字數和字元數有什麼不同?字數統計怎麼算
字元數是把文字裡的每個中文字、標點、英文字母、數字逐一計算,有的算法還把空白也算進去。字數在中文裡通常是指:中文字與標點各算一個,一串連續的英文字母或數字算一個。同一段文字換一個工具、換一個選項,算出來的結果可能不一樣,差別主要在三個地方:空白與換行算不算、標點算不算、英文單字按字母算還是按單字算。
字數與字元數的差別
字元數:一個一個算
一個中文字、一個全形逗號、一個英文字母、一個數字、一個空白,各是一個字元。計算字元數,就是把它們一個一個數下來。常見的兩種算法是「含空白」與「不含空白」,差別只在空白算不算。
字數:一串英文或數字算一個
中文寫作裡說的「字數」,多半是另一種算法:中文字和全形標點仍然一個算一個,英文單字與數字則不拆成字母,一串連續的字母或數字算一個。例如「iPad」按字元是 4 個,按字數是 1 個;「3000」按字元是 4 個,按字數也是 1 個。
全是中文的文字,兩種算法通常只差在空白與換行;中英文夾雜得越多,差距越大。
用一句話看幾種算法
以下面這句話為例,中文字與英文、數字之間各有一個半形空白:
週末用 iPad 寫了 3000 字,好開心。
它由 9 個中文字、4 個英文字母、4 個數字、2 個全形標點和 4 個空白組成。按不同的算法:
| 算法 | 結果 | 怎麼算 |
|---|---|---|
| 按字元,含空白 | 23 | 中文字 9 + 字母 4 + 數字 4 + 標點 2 + 空白 4 |
| 按字元,不含空白 | 19 | 在上一列的基礎上去掉 4 個空白 |
| 按字元,不含空白與標點 | 17 | 再去掉逗號和句點 |
| 英文單字與數字各算一個,含標點 | 13 | 中文字 9 +「iPad」1 +「3000」1 + 標點 2 |
| 英文單字與數字各算一個,不含標點 | 11 | 中文字 9 +「iPad」1 +「3000」1 |
| 只算中文字 | 9 | 週、末、用、寫、了、字、好、開、心 |
同一句話,從 9 到 23 都說得通,要看用的是哪一種算法。所以在比較兩個字數之前,先確認它們是不是用同一種方法算出來的。
Word 的「字數統計」裡幾項數字的差別
Microsoft Word 的「字數統計」對話方塊會同時列出好幾項數字,其中與本文有關的是「字數」與兩項「字元數」:
- 「字數」:中文字一個算一個,英文單字一個算一個;
- 不含空白的字元數:逐一計算字元,空白不算;
- 含空白的字元數:逐一計算字元,空白也算。
兩項字元數相減,就是文中空白的數量。中文稿件裡空白很少,這兩項通常相差不大;英文稿件的單字之間都有空白,兩項的差距就很明顯。
投稿與平台上的字數
徵文、投稿、報告對字數的要求,以及各個寫作平台顯示的字數,算法不一定相同:有的算入標點,有的不算;有的把一個英文單字算一個,有的按字母算。有字數規定時,請以對方寫明的規則或平台顯示的數字為準;拿不準時,依規定留一點餘裕比較保險。
英文和日文怎麼算
英文通常按單字計算(word count),以空白隔開的一個單字算一個。按字元計算(character count)則逐一計算字母、標點,有時也算空白,同一篇英文的字元數通常是單字數的好幾倍,所以英文的字數規定要先分清楚說的是哪一種。
日文的詞與詞之間不用空白隔開,通常按字元計算,假名、漢字、標點各算一個。
為什麼 emoji 有時算兩個字
許多程式按 UTF-16 的「編碼單元」計算長度,JavaScript、Java 等程式語言裡字串的長度就是這樣算的。常用的中文字、字母、標點各佔 1 個編碼單元,而一部分 emoji 佔 2 個,於是被算成 2 個字;極少數罕用字也是如此。由幾個字元組合成的 emoji,例如帶膚色的手勢、部分國旗,可能算得更多。這不是統計出錯,而是程式算的是編碼單元,不是眼睛看到的一個符號。
純純寫作的字數統計
純純寫作(Pure Writer)是一款寫作用的文字編輯器。它的 Android 版與 iOS 版在「設定」中有「字數統計」一組,包含兩項:
- 「視一個英文單字為一個計數」(Android 版為「視一個英文單字為單個計數」):開啟後,連續的英文字母、數字等算作一個計數,中文字、全形標點等仍是一字一計,空白與換行不計。介面語言為中文、日文、韓文或泰文時,這一項預設關閉;其他語言預設開啟。
- 「字數統計模式與標點符號」:可選「不包含空白與換行」「包含所有符號和文字」「排除所有標點符號、空白和換行字元」三種模式。開啟上一項時,這一項不再生效。
以上面的例句來說,開啟「視一個英文單字為一個計數」時算作 13;關閉它並選擇「不包含空白與換行」時算作 19。
「排除所有標點符號」依一份常用標點表排除,少數不在表中的符號仍會計入;emoji 等部分字元會計為 2 個字。桌面版沒有調整字數統計方式的設定。詳見使用手冊的字數統計的不同種類。
常見問題
標點符號算不算字數?
要看用的是哪一種算法。中文的「字數」通常把全形標點算在內,一個逗號、一個句點各算一個;也有些算法不算標點。按字元計算時,標點一般都算在內。純純寫作的 Android 版與 iOS 版可以在「設定」的「字數統計」一組中,把「字數統計模式與標點符號」設為「排除所有標點符號、空白和換行字元」,這樣就不算標點。
空白和換行算不算字數?
中文的「字數」通常不算空白和換行;字元數則分「含空白」與「不含空白」兩種算法。純純寫作的 Android 版與 iOS 版中,開啟「視一個英文單字為一個計數」時,空白和換行不計;關閉時,「不包含空白與換行」與「排除所有標點符號、空白和換行字元」兩種模式也不計。
為什麼純純寫作的字數和 Word 不一樣?
兩者的計算規則不完全相同。Word 會同時列出「字數」與含空白、不含空白的兩項字元數,純純寫作則依「設定」中「字數統計」一組的選項計算。對照時,可以先把純純寫作的算法調得與要對照的那一項相近:對照 Word 的「字數」,開啟「視一個英文單字為一個計數」;對照不含空白的字元數,關閉它並選擇「不包含空白與換行」。即使如此,emoji、不在常用標點表裡的符號等少數字元的算法仍可能不同,數字略有出入是正常的。純純寫作桌面版沒有調整字數統計方式的設定。
emoji 為什麼算 2 個字?
許多程式按 UTF-16 的編碼單元計算長度,一部分 emoji 在 UTF-16 裡佔 2 個編碼單元,所以被算成 2 個字;由幾個字元組合成的 emoji 可能算得更多。純純寫作的字數統計中,emoji 等部分字元也會計為 2 個字。