字数统计 & 词数统计

输入时实时查看文章、稿件和社交媒体帖子的字数,并区分汉字、标点、英文单词和表情符号。

含空格: 0字不含空格: 0字按空格分词数: 0个分词估计: 0个句数: 0句行数: 0行段落数: 0段
汉字: 0中文标点: 0英文单词: 0数字: 0汉字+英文单词: 0
码位数: 0JS length(UTF-16): 0UTF-8 字节: 0
X(原Twitter)参考(280): -Instagram 文案参考(2,200): -

"一个字"到底怎么数

数字数看似简单,但在计算机里,"一个字符"至少有四种数法:肉眼看到的一个符号(字素簇,grapheme)、一个 Unicode 编号 (码位)、JavaScript 的 String.length 所数的 16 位单元(UTF-16 代码单元),以及存储占用的字节数。普通的汉字、英文和数字,这几种结果一致;一旦出现表情符号、组合符号或生僻字,结果就会分叉。本页的 "含空格/不含空格"按字素簇统计,也就是和你在屏幕上数出来的一样,同时把码位数和 JS length 单独列出,方便与其他系统对照。

下表是构建本页时实际计算出的数值,并非手工填写,你可以直观看到同一个"字"在不同口径下的差异。

文本可见字数(字素)码位JS lengthUTF-8 字节
汉字 "汉字"2226
全角标点 ","1113
英文 "Hello"5555
生僻字 "𠀀"(扩展B区)1124
带声调拼音 "é"(e + 组合符号)1223
表情 👍1124
国旗表情(两个区域指示符)1248
家庭表情(ZWJ 连接)15818

从表中可以读出几个要点。常用汉字在 UTF-8 中占 3 个字节,而英文字母只占 1 个,所以同样"一百个字",中文文本的体积约是纯英文的三倍, 这对数据库字段长度和短信限制很重要。扩展区的生僻字(如 𠀀)在 UTF-16 里要用两个单元,看起来是 1 个字,length 却是 2。 表情符号也是同理,而"家庭"这类由多个表情用不可见连接符(ZWJ)拼成的符号,屏幕上只有 1 个,却有 5 个码位、18 个 UTF-8 字节。 如果输入框下方出现"含有按不同方式计数会得到不同结果的字符"的提示,说明文本里有这类符号,更严格的系统可能给出更大的数字。

中文的"词数"为什么只能参考

英文靠空格分词,而中文书写不留空格,所以"按空格分词数"对纯中文文本几乎没有意义,整段话可能只算 1 个。本页同时给出 "分词估计",它使用浏览器内置的 Intl.Segmenter 做词语切分,属于基于词典的估计,不同浏览器、不同版本的结果可能不同, 也不等于专业分词工具的结果。需要精确的词数时,请以字数为主。另外还提供"汉字+英文单词"一项:汉字每个算 1,连续的英文字母或数字组成的单词算 1, 部分文字处理软件的"字数"采用类似口径,但具体规则各软件不同,以投稿方要求为准。

含空格与不含空格,该看哪个

简历、征文、论文摘要多数以"含空格"或"含标点"字数给出上限,但并非绝对;有些平台只统计汉字,有些把标点也算进去。换行是否计入也因系统而异, 有的算 1 个,有的算 2 个(回车加换行)。所以最终提交前,一定要在对方的输入框里再核对一次,并留出几个字的余量。本页的"不含空格"会去掉所有空白字符 (空格、制表符、换行),而标点仍会计入。

计算示例

例 1:带表情的短句。"今天也要加油👍"肉眼数是 7 个字(6 个汉字加 1 个表情),而 JavaScript 的 length 会给出 8, 因为表情占两个 UTF-16 单元。如果表单用 length 校验、上限又卡得很紧,看上去没超的内容也可能被判超限。上限很严格时,尽量避免表情符号。

例 2:压缩一份 800 字的摘要。初稿为 862 字时需要删去 62 字。把目标字数设为 800,状态栏会显示"超出 62 字",你可以边删边看数字回落。 常见的压缩办法是删去重复的修饰语、把"进行分析"改成"分析"、把"对……做出改进"改成"改进……",每处通常能省几个字。最终建议停在 795 字左右,给换行计数差异留余地。

常见误区与局限

第一,在 A 软件里数完,却在 B 系统里提交,二者对脚注、页眉、表格内文字、空格和换行的规则可能不同。第二,从 PDF 或网页复制的文字常带有看不见的字符, 如不换行空格或零宽空格,会让数字多出几个。第三,社交媒体的参考值只是粗略参考,平台可能有链接缩短、对中日韩文字加权计数等规则, 因此界面显示的"280"并不等于你能写满 280 个汉字,发布前以对应应用里的计数器为准。第四,本页不检查错别字、语法、重复率或关键词密度。 学位论文、专利、法律文书等对"字数"口径(是否含参考文献、图表、摘要)有明确规定,请遵循主管方的定义。

配合使用的工具:比较两版文稿的差异可用文本对比工具;按规则批量清理文字可先在正则表达式测试器里试验;估算阅读所需时间可用阅读速度测试, 练习输入速度可用打字速度测试。

常见问题

换行算不算字数?

在"含空格"的总数里,本工具把一个换行算 1 个字符;在"不含空格"里不算。有些系统把换行算作 2 个字符,段落较多时建议留出几个字的余量。

为什么一个表情有时算 2 个字?

多数表情在 UTF-16 里占两个单元,用 JavaScript length 校验的系统会把它算成 2。本工具按可见符号计为 1,并另外显示 JS length 和码位数以便对照。

和 Word、WPS 统计的字数不一样,为什么?

不同软件对空格、标点、脚注、文本框、页眉页脚以及英文单词的处理规则不同。以投稿或提交系统所用的口径为准,可以用"汉字+英文单词"一项作参考。

全角标点和半角标点算几个字?

本工具把全角和半角标点都当作 1 个字符。UTF-8 字节数不同,全角标点通常是 3 个字节而半角是 1 个,需要按字节限制时请看"UTF-8 字节"一项。

输入的内容会被保存或上传吗?

不会。所有统计都在浏览器本地完成,不会发送到服务器,也不会保存。关闭或刷新页面后,输入框会被清空。