中英文混排字数统计
区分字数与字符数两种口径 · 中英数字标点逐类分解 · 文本不上传
📖 使用说明
- 粘贴中英混排文本,四个主指标会同时给出:字数、字符数、汉字数、英文单词数。
- 看分解表判断该用哪个数:投稿系统通常按字符数,作业与文书通常按字数。
- 下面的差额公式把两个数为什么不同逐项列出来了,可以直接代入自己的文本核对。
- 如果目标系统要求"不超过 N 个词",看英文单词数列;要求"N 个字符",看字符数列。
❓ 常见问题
Q:为什么"字数"和"字符数"差这么多?
A:因为计数单位不同。字数口径下,中文每字算 1、英文每个单词算 1; 字符数口径下,每个非空白字符各算 1。一个 8 个字母的英文单词,在字数里是 1、 在字符数里是 8,差 7。英文占比越高,两个数的差距越大。
Q:日文、韩文、俄文怎么算?
A:汉字按中文字符计,拉丁字母按英文单词计;假名、谚文、西里尔字母等既不属于汉字 也不是拉丁字母的文字,统一归入"其它文字"逐字符计数,在分解表里单列一行, 不会被混进汉字数里。
Q:文本会上传吗?
A:不会。统计逻辑在浏览器内运行,输入内容不离开本机,页面也没有任何上传接口; 可以打开开发者工具的 Network 面板验证。
🧮 两种口径的公式与推导
设文本中汉字数为 H、中文标点数为 P、英文单词数为 W、英文字母总数为 L、数字串数为 N、 数字字符总数为 D、英文标点数为 S、emoji 数为 E、其它文字数为 O,则:
字数 = H + P + W + N + E + O
字符数(不计空格)= H + P + L + D + S + E + O
字符数 − 字数 = (L − W) + (D − N) + S
最后一行是关键:两种口径的差距只来自三处——英文逐字母与逐单词之差、 数字逐字符与逐串之差、以及英文标点是否计入。汉字、中文标点、emoji、其它文字在两种口径下 贡献相同,所以它们不影响差额。页面上的差额公式就是把当前文本的这几个数代进去算的。
这也解释了一个常见现象:同样长度的两段文字,一段写"性能提升 20%",另一段写 "performance improved by 20 percent",字符数差不多,但字数口径下第二段的英文部分 会从 4 个词变成大量单词,两种口径的差距立刻放大。对外提交字数时,先确认对方用的是哪一个。
🧾 示例演算
以示例文本为例,一步步算:
Python 3.12 的 GIL 移除后,CPU 密集型任务的性能提升约 20%(官方数据)。
| 步骤 | 数值 | 推导 |
|---|---|---|
| 汉字 H | 19 | 不含 Python / GIL / CPU / 3.12 / 20 这些英文与数字部分 |
| 中文标点 P | 4 | ,。()—— 其中( )是全角括号 |
| 英文单词 W / 字母 L | 3 / 12 | Python、GIL、CPU 三个词,共 12 个字母 |
| 数字串 N / 数字 D | 2 / 5 | 3.12(3 个字符)与 20(2 个字符) |
| 英文标点 S | 2 | 小数点与百分号 |
| 空格 | 6 | 中英文之间与词间空格,计入"含空格"口径 |
| 字数 = 19 + 4 + 3 + 2 | 28 | H + P + W + N |
| 字符数 = 19 + 4 + 12 + 5 + 2 | 42 | H + P + L + D + S(不含 6 个空格) |
| 差额 = (12 − 3) + (5 − 2) + 2 | 14 | 9 + 3 + 2 = 14,与 42 − 28 一致,公式自洽 |
| 字符总数(含空格) | 48 | 42 + 6 个空格,也是这段文本的字素簇数 |
结论:同一段文字,"字数 28、字符数 42、含空格 48"。如果某个系统要求"不超过 40 个字符", 按 42 算就超了,按 28 算又还早——这就是中英混排必须分清口径的原因。 按 20% 的英文占比粗略外推,一篇 3000 字的混排文稿,字数与字符数可能相差上千。
🎯 适用范围
- 留学文书、英文摘要、双语简历的 word count 自查(要求 words 时看英文单词数)。
- 投稿系统、报名系统限制"字符数"时,核对是否超限。
- 翻译与本地化报价:按千字符或千字数结算时,先确认对方的口径再报价。
- 字幕、配音稿的单行长度与总字数控制(看最长行与字符数)。
- 给 AI 写提示词时估算 token 的粗略参照(字符数越多,token 越多,但并非线性)。
- 不适用于:需要精确预测某个具体大模型 token 数的场景(token 由词表与分词算法决定, 字符数只能做粗略参照)。