字数和字符数有什么区别?字数统计是怎么算的
字符数是把文字里的每个汉字、标点、字母、数字逐个计数,有的统计方式还把空格算进去。字数在中文语境里通常指:汉字与标点各算一个,一串连续的英文字母或数字算一个词。同一段文字换一个工具、换一个选项,数出来的结果可能不一样,差别主要出在三处:空格与换行算不算,标点算不算,英文单词按字母算还是按词算。
字数与字符数的区别
字符数:逐个计数
一个汉字、一个中文逗号、一个英文字母、一个数字、一个空格,各是一个字符。统计字符数,就是把它们一个一个数下来。常见的两种口径是「计空格」与「不计空格」,区别只在空格算不算。
字数:一串英文或数字算一个
中文写作里说的「字数」,多数指另一种算法:汉字和中文标点仍是一个算一个,英文单词与数字则不按字母拆开,一串连续的字母或数字算一个词。例如「iPhone」按字符是 6 个,按字数是 1 个;「2000」按字符是 4 个,按字数也是 1 个。
纯中文的文字里,两种算法通常只差在空格和换行上;中英文混排得越多,差别越大。
用一句话看几种数法
以下面这句话为例,汉字与英文、数字之间各有一个半角空格:
周末用 iPhone 写了 2000 字,很开心。
它由 9 个汉字、6 个英文字母、4 个数字、2 个中文标点和 4 个空格组成。按不同的数法:
| 数法 | 结果 | 怎么数 |
|---|---|---|
| 按字符,计空格 | 25 | 汉字 9 + 字母 6 + 数字 4 + 标点 2 + 空格 4 |
| 按字符,不计空格 | 21 | 在上一行的基础上去掉 4 个空格 |
| 按字符,不计空格与标点 | 19 | 再去掉逗号和句号 |
| 英文单词与数字各算一个,计标点 | 13 | 汉字 9 +「iPhone」1 +「2000」1 + 标点 2 |
| 英文单词与数字各算一个,不计标点 | 11 | 汉字 9 +「iPhone」1 +「2000」1 |
| 只数汉字 | 9 | 周、末、用、写、了、字、很、开、心 |
同一句话,从 9 到 25 都说得通,取决于用的是哪种数法。所以比较两个字数之前,先确认它们是不是用同一种方法数出来的。
Word 的「字数统计」里几项数字的区别
Microsoft Word 的「字数统计」对话框同时列出好几项数字,其中与本文有关的三项是:
- 「字数」:汉字一个算一个,英文单词一个算一个;
- 「字符数(不计空格)」:逐个计字符,空格不算;
- 「字符数(计空格)」:逐个计字符,空格也算。
两个「字符数」相减,就是文中空格的个数。中文稿子里空格很少,这两项通常相差不大;英文稿子的单词之间都有空格,两项差别明显。
投稿与平台上的字数
征文、投稿、作业对字数的要求,以及各个写作平台显示的字数,算法不一定相同:有的计入标点,有的不计;有的把一个英文单词算一个,有的按字母算。有字数要求时,以对方写明的规则或平台显示的数字为准;拿不准时,按要求留出一些余量更稳妥。
英文和日文怎么数
英文通常按单词计数(word count),以空格分开的一个单词算一个。按字符计数(character count)则逐个数字母、标点,有时也数空格,同一篇英文的字符数通常是单词数的好几倍,所以英文的字数要求要分清说的是哪一种。
日文的词与词之间不用空格分隔,通常按字符计数,假名、汉字、标点各算一个。
为什么 emoji 有时算两个字
许多程序按 UTF-16 的「编码单元」计数,JavaScript、Java 等编程语言里字符串的长度就是这样算的。常用的汉字、字母、标点各占 1 个编码单元,而一部分 emoji 占 2 个,于是被算作 2 个字;极少数生僻汉字也是这样。由几个字符组合成的 emoji,例如带肤色的手势、一些国旗,可能算得更多。这不是统计出错,而是程序数的是编码单元,不是人眼看到的一个符号。
纯纯写作里的字数统计
纯纯写作(Pure Writer)是一款写作用的文本编辑器。它的 Android 版与 iOS 版在「设置」里有「字数统计」一组,包含两项:
- 「视一个单词为一个计数」:开启后,连续的英文字母、数字等算作一个计数,汉字、全角标点等仍是一字一计,空格和换行不计。界面语言为中文、日文、韩文或泰文时,这一项默认关闭;其他语言默认开启。
- 「字数统计模式与标点符号」:可选「不包含空格与换行」「包含所有符号和文字」「排除所有标点符号、空格和换行符」三种模式。开启「视一个单词为一个计数」时,这一项不再生效。
以上文的例句来说,开启「视一个单词为一个计数」时计为 13;关闭它并选择「不包含空格与换行」时计为 21。
「排除所有标点符号」按一张常用标点表排除,个别不在表中的符号仍会计入;emoji 等部分字符会计为 2 个字。桌面版没有调整字数统计方式的设置项。详见使用手册的字数统计的不同种类。
常见问题
标点符号算不算字数?
取决于用的是哪种统计方式。中文的「字数」通常把中文标点算在内,一个逗号、一个句号各算一个;也有一些统计方式不计标点。按字符计数时,标点一般都算在内。纯纯写作的 Android 版与 iOS 版可以在「设置」的「字数统计」一组中,把「字数统计模式与标点符号」设为「排除所有标点符号、空格和换行符」,这样就不计标点。
空格和换行算不算字数?
中文的「字数」通常不算空格和换行;字符数则分「计空格」与「不计空格」两种口径。纯纯写作的 Android 版与 iOS 版中,开启「视一个单词为一个计数」时,空格和换行不计;关闭时,「不包含空格与换行」与「排除所有标点符号、空格和换行符」两种模式也不计。
为什么纯纯写作的字数和 Word 不一样?
两者的统计规则不完全相同。Word 同时给出「字数」「字符数(不计空格)」「字符数(计空格)」等几项,纯纯写作则按「设置」中「字数统计」一组的选项计数。对照时,可以先把纯纯写作的方式调得与要对照的那一项相近:对照 Word 的「字数」,开启「视一个单词为一个计数」;对照「字符数(不计空格)」,关闭它并选择「不包含空格与换行」。即使这样,emoji、不在常用标点表里的符号等个别字符的算法也可能不同,数字略有出入是正常的。纯纯写作桌面版没有调整字数统计方式的设置项。
emoji 为什么算 2 个字?
许多程序按 UTF-16 的编码单元计数,一部分 emoji 在 UTF-16 里占 2 个编码单元,所以被算作 2 个字;由几个字符组合成的 emoji 可能算得更多。纯纯写作的字数统计里,emoji 等部分字符也会计为 2 个字。