字数是如何统计的?
本工具在浏览器内置的 Intl.Segmenter API(Chrome 87+、Firefox 125+、Safari 14.1+)可用时优先使用它统计字数,该 API 支持所有文字——拉丁文、中文、阿拉伯文、天城体、日文、韩文、西里尔文——使用来自 Unicode CLDR 的精准分词边界。当 Intl.Segmenter 不可用时,回退到支持 Unicode 的正则表达式(/\p{L}+/gu),可匹配任意连续的 Unicode 字母。大多数同类工具按 ASCII 空白分词,会悄悄地统计错所有拉丁字母以外的文字;本工具不会。
统计是如何工作的
每次按键时,您的浏览器内执行六个步骤。它们都不涉及网络请求。整个流程对于典型段落级别的输入在一毫秒内完成,处理 10 万词的稿件也不会掉帧。
- 从文本框读取文本并保存在浏览器内存中——任何内容都不会离开您的设备。
- 字符数使用 JavaScript 展开运算符(
[...text].length)统计 Unicode 代码点,因此无论内部 UTF-16 编码如何,🙂 等 emoji 都只计为 1 个字符。 - 字数使用
granularity: 'word'的Intl.Segmenter,过滤isWordLike为 true 的片段。不以空格分词的中文和日文,每个字符计一个片段。 - 句子数使用
granularity: 'sentence'的Intl.Segmenter,比简单的句号分割更好地处理缩写、省略号和标点边界情况。 - 段落数按一个或多个空行(
\n\s*\n)分割,并过滤空片段。 - 阅读和朗读时间将字数除以配置的 WPM 速率(默认值:阅读 200,朗读 130),并将结果格式化为分钟和秒。
为什么要统计字数?
- 文章和提交字数限制。大学个人陈述有字数上限,了解提交前的字数,可避免临阵磨枪地大幅删减。
- SEO 与内容规划。搜索质量团队将字数用作主题深度的粗略指标,字数在 1500 至 2500 之间的长文在竞争性查询中持续胜过内容单薄的文章。在草稿阶段追踪字数,可使草稿保持在该区间而不显得臃肿。
- 社交媒体字数要求。X 限帖子 280 字符,LinkedIn 文章限 11 万,Instagram 说明限 2200,meta 描述约 160 字符。字符格在您将内容粘贴到平台编辑器发现被截断之前,就能显示准确数值。
- 转录与演讲时长估算。阅读时间按 200 WPM 对应默认默读速度;朗读时间按 130 WPM 对应对话式表达。两者结合可用来安排播客片段、规划 5 分钟闪电演讲,或在录制前估算旁白时长。
常见应用场景
字数和字符统计广泛应用于写作、内容和开发工作中,工具的 Unicode 感知引擎对于多语言内容团队尤为重要:
- 学术写作:追踪论文章节的完成进度,或在投稿前验证摘要是否在期刊字符限制以内。
- 营销与 UX 文案:对标题、主标语或行动召唤按钮文字,按设计师在 Figma 中设定的字符预算进行测量。
- 演讲写作与播客:将脚本转换为预计时长,提前知晓主题演讲是否超时,无需等到排练当天才发现。
字数统计示例是什么样的?
以这三段示例文字为例。The quick brown fox jumps over the lazy dog. The sentence above is a pangram — it contains every letter of the English alphabet, which is why typographers and font designers use it to preview a typeface. Pangrams date back at least to the 19th century, when telegraph operators used short letter-complete sentences to test transmission accuracy. Today they show up in font specimens, keyboard tests, and the default placeholder text of every design app from Figma to InDesign. 粘贴到输入框后,指标格显示:71 个词、含空格 410 字符、不含空格 340 字符、4 个句子、3 个段落、按 200 WPM 约 21 秒阅读时间、按 130 WPM 约 33 秒朗读时间。最常见词语面板跳过 the、a 等停用词,突出内容词——这里是 pangram、letter 和 sentence。切换为中文、阿拉伯语或印地语文本后,每个格都会按该文字自身的分词规则重新计算。
字数是如何统计的?
在支持 Intl.Segmenter 的浏览器(Chrome 87+、Firefox 125+、Safari 14.1+)中,工具使用 new Intl.Segmenter(locale, { granularity: 'word' }) 并统计 isWordLike 为 true 的片段。这能正确处理中文、日文、阿拉伯文、天城体及所有其他 Unicode 文字。在旧版浏览器中,回退正则表达式 /\p{L}+/gu 匹配任意连续 Unicode 字母,对拉丁文字效果良好,但对无空格的中文或日文,会将整个单词视为一个片段。
为什么统计结果与 MS Word 不同?
Microsoft Word 的字数统计算法是专有的,在不同版本中对连字符复合词、缩略语和特殊字符的处理方式各异。本工具将「won't」计为一个词(一个 isWordLike 片段),而 Word 可能计为两个。对于大多数散文,两者差异在 1–2% 以内;对于连字符文本,差异可能更大。只要源文本是相同的 UTF-8 字符串,字符数始终一致。
支持非拉丁文字(中文、阿拉伯语、西里尔文)吗?
支持。Intl.Segmenter API 在设计上具有 Unicode 感知能力。阿拉伯语和希伯来语(从右到左文字)能正确统计;西里尔文和希腊文像普通拉丁风格分词一样处理;中文和日文每个字符报告一个词状片段,因为这些文字体系词语之间不用空格。字符数(使用 [...text].length)始终统计 Unicode 代码点,与文字无关,因此 emoji、CJK 字符和带变音符的拉丁字符均计为 1。
我的文本会被上传吗?
不会。所有计算都在您的浏览器标签页内使用原生 JavaScript API 运行。任何内容都不会发送到 Ultim8Soft 的服务器或任何第三方服务。您可以打开浏览器 DevTools,切换到 Network 标签,清除日志,在输入框输入内容,并确认统计步骤中没有出现任何网络请求来自行验证。
本字数统计工具完全在您的浏览器中运行。无需上传、无需账户、无第三方库、不对统计文本进行任何分析。粘贴任何文字的任意文本,看着七个指标格随您输入实时更新,复制所需内容即可。整个工具约 12 KB 的 JavaScript,加载一次即可在首次访问后离线使用。