字符统计工具

输入文本
等待输入…
统计结果
在左侧输入或粘贴文本
这里会实时显示统计结果
左侧输入文本,右侧实时统计字符总数、中文汉字、英文字母、数字、标点、行数、段落数、句子数、英文单词、UTF-8 字节数与高频字符,支持一键复制统计结果。

这个工具能做什么

左侧粘贴或输入文本,右侧即时显示十几项统计指标:字符总数、不含空格的字符数、中文汉字数、英文字母数、数字个数、标点符号数、行数、段落数、句子数、英文单词数、UTF-8 字节数,以及出现频率最高的 8 个字符。所有计算都在浏览器本地完成,输入的内容不会上传到任何服务器。

统计是实时的,不需要点「计算」按钮。同时选中一段文字时,左下角还会额外显示选中部分的字符数。


各项指标的含义

指标统计口径
字符总数按 Unicode 码点计数,含空格与换行。一个 Emoji 记 1 个字符
不含空格从字符总数中剔除全部空白字符(空格、制表符、换行符)
中文汉字基本区(U+4E00–U+9FFF)、扩展 A 区(U+3400–U+4DBF)、兼容区与扩展 B 区及以后的汉字
英文字母半角 A–Z、a–z 与对应的全角字母,并单独列出大写与小写数量
数字半角 0–9 与全角 0–9
标点符号Unicode 标点类别(P),涵盖中英文标点如 ,。!?;:「」()—…
空白字符空格、制表符、换行、全角空格等所有空白
其他字符数学符号、货币符号、emoji、图形符号等不属于上述类别的字符
行数按换行符切分得到的行数,含纯空白行
非空行去掉只含空白的行之后剩余的行数
段落数以空行分隔的文本块数量,这是最贴近写作习惯的口径
句子数以 。!?!?… 或换行结尾切分得到的句子数量
英文单词按空白与标点切分的连续英文字母串,don't、state-of-the-art 算 1 个词
UTF-8 字节文本按 UTF-8 编码后占用的字节数,中文通常占 3 字节

最容易搞混的四组概念

字符数 ≠ 字节数。* 这是最常被忽略的差异。一个汉字在 UTF-8 下占 3 个字节,一个 Emoji 占 4 个字节,而英文字母只占 1 个。所以「800 字」的中文文章,UTF-8 字节数大约是 2400。数据库字段长度、短信计费、API 请求体限制这些场景看的是**字节数**,而写作平台的字数限制看的是*字符数,两者不能混用。

行数 ≠ 段落数。 从网页或 PDF 复制文本时,经常每行都带一个换行符,于是「行数」很大而「段落数」只有几个。判断文章结构应该看段落数,而检查代码、清单这类内容才看行数。

字符数 ≠ 显示宽度。 一个汉字和一个英文字母都算 1 个字符,但在等宽字体里汉字占 2 个字符宽。做终端对齐、表格排版时,需要的是「显示宽度」而不是字符数。

Emoji 的计数陷阱。 在 JavaScript 里 '😀'.length 等于 2,因为 UTF-16 用一对代理项表示它。本工具按 Unicode 码点计数,所以 😀 记作 1 个字符——这与用户的直觉一致。但要注意,如果是 👨‍👩‍👧 这样的零宽连接符组合序列,它由 5 个码点组成,本工具会如实记为 5。


常见平台的字数限制

场景常见限制说明
短信70 字符 / 条中文按 UCS-2 编码,一条短信 70 个字符,超出按多条计费
微博140 字中文与英文按字符计
Twitter / X280 字符按字符计,一个汉字算 1 个
微信公众号标题64 字超出会被截断
小红书正文1000 字标题 20 字
知乎回答无硬性上限但过长的内容会影响完读率
网页 meta description约 155 字符超出部分搜索引擎会截断

各平台规则会调整,发布前建议以平台当前的官方说明为准。用本工具先量一遍,可以避免辛苦写好的文案被截断。


阅读时长是怎么算出来的

本工具按中文 300 字/分钟、英文 200 词/分钟估算阅读时间。这个速度接近成年人的平均默读速度,用于给文章标注「预计阅读 X 分钟」比较合适。实际速度因人而异:技术文档、含大量公式的内容会慢很多,而通俗故事类会更快。


使用方式

  1. 在左侧文本框输入或粘贴文本,右侧立即出现统计结果;
  2. 点击「示例」可填入一段中英混排的演示文本,快速了解各项指标的差异;
  3. 点击「清空」清空输入框;
  4. 点击右侧标题栏的「复制」按钮,可以把全部统计指标以纯文本形式复制出来,方便贴到文档或聊天窗口;
  5. 在左侧选中一段文字,左下角会额外显示选中部分的字符数,适合抽查某个片段的长度。

提示:统计口径以 Unicode 标准分类为依据。不同平台对「字数」的定义可能不同(有的把标点算入、有的不算,有的把连续英文按词计),投稿前请先确认目标平台的规则。

常见问题 FAQ

最多能统计多长的文本?

没有硬性限制。几万到十几万字符都能流畅处理,输入时会做 90 毫秒防抖,避免超长文本连续输入时界面卡顿。

阅读时长是怎么估算的?

按中文 300 字/分钟、英文 200 词/分钟估算,接近成年人平均默读速度。实际速度因内容难度与个人习惯而异,仅供参考。

输入的内容会被上传吗?

不会。所有统计逻辑都在浏览器本地用 JavaScript 完成,页面不会把文本发送到服务器,断网状态下也能正常使用。

统计结果可以导出吗?

可以。点击右侧标题栏的「复制」按钮,会把全部指标以「指标名:数值」的纯文本格式复制到剪贴板,直接粘贴到文档或聊天窗口即可。

为什么「其他字符」有时候不为零?

数学符号、货币符号、图形符号、emoji、私用区字符等不属于汉字、字母、数字、标点或空白的字符,都会计入「其他字符」。

中文需要单独统计「词数」吗?

中文分词需要词典支持,不同分词工具结果差异很大,因此本工具不提供中文词数,而是直接给出「中文汉字数」,这个口径更客观也更稳定。

英文单词是怎么切分的?

按空白与标点切分连续的英文字母串。带连字符或撇号的写法会算作一个词,例如 don't、state-of-the-art 都记 1 个单词。

标点符号包含哪些字符?

按 Unicode 标点类别(P)统计,涵盖中英文标点:,。!?;:「」『』()——《》… 等。数学符号(+ - = < >)与货币符号($ ¥)不属于标点类别,会归入「其他字符」。

Emoji 会被统计成几个字符?

单个 Emoji 如 😀 记 1 个字符。但零宽连接符组合序列(如 👨‍👩‍👧)由多个码点拼接而成,会如实记为 5 个字符。

「行数」和「段落数」有什么区别?

行数按换行符切分,从网页或 PDF 复制的文本常常每行都带换行符,行数会很大;段落数以空行分隔,更贴近写作结构。检查文章结构看段落数,检查代码清单看行数。

为什么字符数和字节数不一样?

因为编码方式不同。UTF-8 下英文字母占 1 字节、汉字占 3 字节、Emoji 占 4 字节。所以 800 字的中文文章,字节数大约 2400。数据库字段长度、短信计费看的是字节数。

字符总数是怎么计算的?

按 Unicode 码点计数,包含空格与换行。一个汉字记 1 个字符,一个 Emoji 也记 1 个字符,不会因为 UTF-16 代理对而重复计数。