piapia123
zh

字数统计

文本处理

所有处理都在浏览器本地完成,数据不上传服务器

输入
输出

中英混排的文本到底有多长?中文按字算、英文按词算,两者不是同一个量纲,所以这里分开统计而不是合并成一个会误导人的数字。字符数按 Unicode 码点计(emoji 算一个),字节数按 UTF-8 实测(一个汉字 3 字节、一个 emoji 4 字节),阅读时长按中文 300 字/分钟、英文 200 词/分钟估算。报告里每一项都写明了口径。

功能

  • 字符数同时给出含空格与不含空格两个口径
  • 中文字数与英文词数分开统计,不混为一谈
  • 行数,以及以空行为界的段落数
  • UTF-8 字节数实测:汉字 3 字节、emoji 4 字节
  • 阅读时长估计:中文 300 字/分钟、英文 200 词/分钟
  • 字符数按码点算,emoji 与扩展区汉字都算一个
  • 输出是左右对齐的两列报告,可以直接整段复制

使用方法

  1. 把文本粘贴进输入框
  2. 统计结果实时更新,不需要点按钮
  3. 把报告整段复制走,或者只取需要的那一项

常见问题

为什么中文字数和英文词数要分开算?
因为「字」与「词」不是同一个量纲:300 个汉字和 300 个英文单词的阅读时间差一倍以上。合并成一个数字看着简洁,却会让人对篇幅做出错误判断,所以这里分开列。
字符数为什么和我平时看到的「字数」不一样?
Word 这类软件把「字数」定义为「中文字数 + 英文单词数」,而这里给的是字符数(空格、标点都算)。两个口径都有用武之地,关键是知道自己用的是哪个 —— 报告里每一项后面都写了口径。
emoji 算几个字符?
算一个。统计按 Unicode 码点走,而 JavaScript 的 str.length 数的是 UTF-16 码元,会把一个 emoji 算成两个 —— 这正是很多在线工具数字对不上的原因。
字节数有什么用?
发接口、算存储、判断是否超过字段长度限制时,看的都是字节而不是字符。中文一个字占 3 个 UTF-8 字节,所以「不超过 100 字」和「不超过 100 字节」差着三倍。

相关工具