字数统计的正确方法:中英文混排怎么算字数?

发布于 2026年5月22日 · 阅读时间约6分钟

"我的文章到底多少字?"——这看似简单的问题,在中文混排场景下却很容易踩坑。Word、Markdown 编辑器、各平台算法给的数字都不一样。本文帮你理清字数统计的逻辑和各平台规则。

中文和英文的字数怎么算?

核心区别:

示例:"DevUtils是2026年最好的工具箱"

统计维度说明
中文字数7是、年、最、好、的、工、具、箱 → 8字(含"是")
英文词数1DevUtils
数字词数12026
总"字数"9中文字 + 英文词 + 数字词
字符数17所有字符,含英文字母

关键原则:中文用"字"计量,英文用"词"计量。混排时,总字数 = 中文字数 + 英文词数(不是字符数)。

各平台的统计规则差异

不同平台对"字数"的定义不一样,这经常导致困惑:

平台中文统计方式英文统计方式
Microsoft Word字数 = 中文字数 + 英文词数词数
微信公众号含标点符号的字符数单词数
知乎约等于 Word 的"字符数(不计空格)"同左
Typora中文字 + 英文词词数
SEO 元描述字符数(含空格)≤ 160同左

阅读时间怎么估算?

常用估算公式:

混排文章的阅读时间:

阅读时间(分钟) = 中文字数 ÷ 500 + 英文词数 ÷ 225

向上取整,不足1分钟显示"1 分钟"。

注意:技术文章阅读速度通常更慢(代码、公式需要停顿思考),可以乘以 1.5 系数。即技术文章建议用 330 字/分钟(中文)、150 词/分钟(英文)来估算。

常见字数限制要求

场景字数要求统计方式
SEO 标题≤ 60 字符字符数
SEO 元描述≤ 160 字符字符数
微信公众号摘要≤ 120 字字符数(含标点)
小红书正文≤ 1000 字字符数
学术论文摘要200-500 字中文字 + 英文词
技术博客长文1500-3000 字中文字 + 英文词

各编程语言统计字数

JavaScript

// 中文字数
const cnCount = (text.match(/[一-鿿]/g) || []).length;

// 英文词数
const enWordCount = (text.match(/[a-zA-Z]+(?:['-][a-zA-Z]+)*/g) || []).length;

// 总字数
const totalWords = cnCount + enWordCount;

Python

import re

# 中文字数
cn_count = len(re.findall(r'[一-鿿]', text))

# 英文词数
en_word_count = len(re.findall(r"[a-zA-Z]+(?:['-][a-zA-Z]+)*", text))

# 总字数
total = cn_count + en_word_count

常见误区

用字符串长度当中文字数?

错。"Hello世界"length 在 JavaScript 中是 7(5个字母+2个汉字),但字数应该是 3(1个英文词+2个中文字)。JavaScript 的 string.length 对 emoji 和代理对还有额外问题。

空格和标点算不算?

取决于场景:SEO 字符数含空格;Word 字数不含空格;学术论文字数通常不含标点。统计时一定要明确标准。

在线字数统计工具

粘贴文本即时统计:字符数、词数、中英文分别计数、阅读时间估算

打开字数统计工具