字数统计

统计字符、中英文、行段、UTF-8 字节与预估阅读时间

—

字数统计为什么各家结果不一样:字符、码点、字节的区别

"多少字"至少有四种答案

同一个字符串,用不同的口径去数会得到不同的数字,而且每个数字都是"正确"的:

口径abc中文café😀
UTF-16 码元(JS 的 length)3242
Unicode 码点3241
UTF-8 字节3654
用户感知的字符(字素簇)3241

三个关键差异点:

本工具分别给出字符数(UTF-16 码元)和UTF-8 字节数两个数字,就是因为实际需求同时存在这两种口径:面向用户界面的限制通常按字符,面向存储与传输的限制必须按字节。

中文的"字数"没有统一定义

英文用空格分词,所以"单词数"是明确的。中文没有词间空格,于是产生分歧:

工具把中日韩字符单独统计,并把拉丁单词单独统计,就是为了让你能同时看到两个维度——混排文本(技术文档、产品文案)里只看其中一个数字会严重失真。

什么时候需要哪个数字

场景该看哪个原因
微博/评论字数限制字符数平台按字符校验(且可能按加权规则)
数据库字段长度字节数VARCHAR(n) 在多数数据库里按字节或按字符,取决于版本与配置,必须确认
短信计费字节数纯 ASCII 每条 160 字符,中文按 UCS-2 编码每条 70 字符
文章/论文摘要字符数或词数看投稿要求是"字"还是"words"
SEO 标题与描述长度像素宽度搜索引擎按渲染宽度截断,不是按字符数
字幕时长估算字符数 + 阅读速度见下一节

阅读时间的估算基准

工具会按字数估算阅读时间。参考基准:

所以这个数字只是量级参考,用于判断"这段文案是不是太长",不适合当成精确的时长承诺。

工具统计了什么

全部在浏览器本地统计,不需要上传文本——统计长的内部文档或客户资料时这一点是必要的。

常见问题

中文和英文怎么算阅读时间?

按经验值估算:中文约 300 字/分钟,英文约 200 词/分钟,两者相加得出总时长。

UTF-8 字节和字符数为什么不同?

一个汉字在 UTF-8 中占 3 字节,emoji 占 4 字节,而字符数只算 1,所以字节数通常大于字符数。