字数统计为什么各家算的不一样:Word、公众号、小红书、Twitter 各算各的

· 约 5 分钟 📃 字数统计

“我这篇 1000 字的稿子”——这个数字在不同平台意味不同。Word 字数 vs 字符数 vs 公众号 vs 小红书 vs Twitter 各按各的算法,写作时如果没看准目标平台规则,要么超字被截、要么没写够。

各平台字数规则一览

平台计数单位上限备注
Word(字数)中字 + 英文词中文按字、英文按词
Word(字符不计空格)单字符所有非空白字符
公众号正文字符(含标点)≈2 万字emoji 算 1-2
公众号摘要字符120移动端截断
公众号标题字符64移动端列表显前 ≈20
小红书正文字符1000 硬限话题 / @ 不算
小红书标题字符20 硬限emoji 算 1-2
微博字符2000国际版仍 140
Twitter / X 英文weight280URL 算 23
Twitter / X 中文weight140 字CJK 字 = 2 weight
Threads字符500Meta 出品
Mastodon字符500实例可调
Blueskygrapheme300按”用户感知字符”算
知乎回答字符5 万标题 50 字符
知乎专栏字符10 万标题 50
简书字符几万标题 36 字符
豆瓣广播字符10000大幅超过早期 140
豆瓣短评字符140经典门槛

数字会随平台政策调整,仅供参考。

Word 的三个口径

打开 Word 文档,左下角”字数”实际有三个数字:

  • 字数(words):英文按空格分词、中文按汉字
  • 字符数(不计空格):所有非空白字符
  • 字符数(计空格):包括空格

纯中文:三个数字接近一致(汉字之间没有空格)。

"今天天气真好" → 字数 6, 字符数 6, 字符数(空) 6

纯英文:差距大。

"The quick brown fox" → 字数 4, 字符数 16, 字符数(空) 19

中英混合:最容易出问题。

"Hello, 世界!这是 100 个 demo" 
→ Word 字数: ~6("Hello" + "世界" + "这是" + "100" + "个" + "demo",分词规则版本依赖)
→ 字符数(不空): 22
→ 字符数(空): 24

投稿场景的”3000 字”指什么

  • 中文期刊、网文:基本指字符数(不计空格)
  • 英文期刊:指 words
  • 报告 / 论文:摘要计字符、正文计字数
  • 不确定时直接问编辑——同一个数字差 30%+

公众号的字数比 Word 多

把 Word 1000 字的稿子粘到公众号编辑器,常会显示 1300-1500 字。原因:

  • 公众号按”字符数”算,含标点
  • 中文标点(。,”!?等)每个都算 1
  • 英文字母、数字按字符算
  • emoji 算 1-2 个字符
  • 换行算 1 字符
Word 字数 1000:
  中文 600 字(汉字)
  英文 100 词 ≈ 500 字符
  标点 200 个

公众号显示:
  600 + 500 + 200 = 1300 字符(不算 emoji 的话)

实务

  • 估算公众号字数 ≈ Word 字数 × 1.3-1.5
  • 公众号编辑器右下角实时显示当前字符数
  • 短文(< 800 公众号字符)阅读完成率最高

小红书的硬限制

小红书是字数限制最严的主流平台:

字段上限备注
正文1000 字符硬限制,超过无法发布
标题20 字符含空格、emoji
评论200 字符同上
话题数10 个#xxx# 整体
图片9 张含视频则 1 视频 + 8 图

话题和 @ 不算正文字数

"今天分享 #健身 #减脂餐 这两个话题..."
正文部分 = "今天分享  这两个话题..." 算字数
话题部分 = #健身 #减脂餐 不算正文字数

emoji 字数计算

  • BMP 内 emoji(U+0000-FFFF)算 1 字符
  • 星 emoji(U+10000+)算 2 字符
  • 复合 emoji(带肤色 / 性别变种)按组成算
"☀️ 今天天气真好"  → 7 字符(☀️ 算 1-2)
"👨‍👩‍👧‍👦 家庭"     → 11 字符(复合 emoji 拆开算)

字数策略

  1. 1000 字符够写一个有结构的种草笔记(开头 + 故事 + 干货 + 结尾)
  2. 标题 20 字符极珍贵——不要写”我的 xxx 经验分享”,用具体名词 + 数字 + 反差词
  3. 长文超字数 → 拆”上篇 / 下篇”,互相 @ 引流
  4. emoji 节省字数感——一个 emoji 顶几个字描述

Twitter / X 的 weight 系统

Twitter 2017 年从”140 字符”改成”280 weight”:

  • Latin-1 字符(英文、欧洲语言)= 1 weight
  • CJK 字符(中日韩文)= 2 weight
  • 大部分 emoji = 2 weight
  • URL 不论实际长度 = 23 weight(用 t.co 短链统一)
  • @ 用户名 按实际字符算

280 weight 上限 → 各种语言能发的实际数:

语言单字符 weight实际可发字符
英文 / 法语 / 西班牙语1280
中文2140
日文2140
韩文2140
阿拉伯文1280
俄文1280

一个英文 + 一张图 + 一个链接的典型推

"Check out this great article about web performance optimization techniques and best practices for modern apps! https://example.com/very-long-url-here"

                                                                                                  URL 占 23 weight 不论长度

中文 / 英文 / 数字的混合算法

字数统计的复杂性主要来自多语言混合。常见的几种规则:

规则 A:字符等价(公众号 / 小红书 / 微博)

所有非空白字符算 1 个,不区分中英数字
"Hello 世界!" → 9 字符

规则 B:CJK 加权(Twitter / X)

ASCII = 1 weight,CJK = 2 weight
"Hello 世界!" → 5 + 2×3 = 11 weight

规则 C:分词混合(Word 字数)

英文按空格分词 + 中文按汉字
"Hello 世界!" → 1 词 + 2 字 = 3

规则 D:字节数(数据库 / API 限制)

按 UTF-8 字节算
"Hello 世界!" → 5 + 3×2 + 3 = 14 字节
(中文每字 3 字节,英文每字 1 字节)

不同口径下同样一句话的”长度”差 5 倍。

emoji 的字数陷阱

emoji 的字数计算比想象复杂:

🙂  U+1F642  → JS string 长度 2 (UTF-16 代理对)
👨  U+1F468  → 长度 2
👨‍💻  组合     → 长度 5(👨 + ZWJ + 💻 = 2 + 1 + 2)
👨🏻‍💻  组合     → 长度 7(加肤色修饰)
👨‍👩‍👧‍👦  组合     → 长度 11(4 个人 + 3 个 ZWJ)

不同平台的处理:

  • JS '👨‍👩‍👧‍👦'.length → 11(按 UTF-16 code unit)
  • 用户感知 → 1 个字符(视觉一个 emoji)
  • Twitter → 2 weight(一个 emoji)
  • Bluesky → 1 grapheme cluster(按”用户感知字符”算)
  • 小红书 → 看具体 emoji,1-2 字符

正确的”用户感知字符”算法:

// ES2022+
[...new Intl.Segmenter().segment('👨‍👩‍👧‍👦')].length;  // 1

// 老 API
[...'👨‍👩‍👧‍👦'].length;  // 7(split by code point,但仍拆 ZWJ 复合)

本工具按多种规则同时显示,避免歧义。

几个常见的字数误区

1. “段落字数限制”vs”全文字数限制”

公众号编辑器有”单段不超过 5000 字符”的隐性限制,超过会提示拆段。但这是编辑器排版限制,不是发布限制。

2. 复制粘贴带格式后字数变化

从 Word / Notion 复制带格式文本到公众号,HTML 标签可能被算入字数(取决于编辑器)。建议先转纯文本再粘贴。

3. 表情符号 vs 颜文字

"开心 😊"     emoji,1-2 字符
"开心 (^_^)"  颜文字,5 字符(包含括号、_)

颜文字字数多但兼容性好——所有平台都正确显示。

4. 草稿字数与发布字数差异

部分平台草稿不严格限字数,但发布时检查。写之前确认上限,避免写完发不出。

一句话总结

字数没有统一标准——Word 字数 vs 字符数差 30%+、公众号比 Word 多 30-50%、小红书 1000 字符硬限制、Twitter 中文按 2 倍 weight、emoji 算法千奇百怪——写作前先按目标平台校准。

❓ 常见问题

Word 的"字数"和"字符数(不计空格)"差在哪?

字数(words):英文按"空格分词"算单词数、中文按汉字算(一个汉字 = 一个字)。字符数(不计空格):所有字符(汉字、英文字母、数字、标点)总数减去空格。字符数(计空格):再加上空格。对纯中文三个数字接近——汉字数和字符数 99% 重合。对纯英文差距巨大——一个 5 词英文句子可能有 25 个字符。对中英混合最复杂——"Hello 世界" 在 Word 里算 2 个字("Hello" + "世界" 算 1 还是 2 视版本)。实务:投稿规定"3000 字"基本指中文版的字符数(不计空格),英文版指 words;模糊时直接问编辑。

公众号的"字数"按什么算?

按字符数(不计空格),含标点和 emoji。微信公众平台的字数统计明显比 Word 高 30-50%——因为微信把所有"非空白"字符都算上:中文字、英文字母、数字、半角标点、全角标点、emoji(每个 emoji 算 1-2 字)。实测:同样一段 1000 字的中文(按 Word 字数)粘到公众号编辑器,统计可能显示 1300-1500 字。公众号字数限制:(1) 单篇正文 < 2 万字(早期 5 万);(2) 摘要 < 120 字(实际看长度,超出截断);(3) 标题中文 64 字以内(移动端列表显示前 14-20 字)。实务:写 3000 字爆款用 Word 写完,预期发到公众号显示 4000+ 字别奇怪。

小红书 1000 字限制是按什么算?

按字符数算,emoji 算 1-2 字符,但话题(#xxx)和 @ 不算。小红书正文限 1000 字符——是绝对硬限制,超过无法发布。注意:(1) emoji 可能算 1 也可能算 2(看 Unicode 平面,BMP 内的算 1,星等表情算 2);(2) 换行符算 1 字符;(3) 话题标签 #xxx# 整体不算正文字数(但有数量限制 10 个);(4) @用户也不算正文字数;(5) 评论区限 200 字符。标题限 20 字符——这个限制更严,建议算上 emoji 和符号别超。字数策略:(1) 1000 字够写一个有故事的种草笔记;(2) 用 emoji + 话题撑视觉感不挤字数;(3) 长文超字数时拆"上篇 / 下篇",互相 @ 引流。

Twitter / X 的 280 字符是按字符算的?中文呢?

英文 280 字符 / 中日韩字 140 字符——Twitter 在 2017 年改的政策:CJK(中日韩字)字符算 2 个 weight(用 280 上限的 2 倍权重),实际中文最多发 140 字。Twitter weight 计算(精确):(1) ASCII 字符 = 1 weight;(2) Latin-1 扩展 = 1 weight;(3) 韩文 / 日文 / 中文 = 2 weight;(4) 大部分 emoji = 2 weight;(5) URL 一律按 23 weight 算(无论 URL 实际多长);(6) @ 用户名按字符算。280 weight 上限 → 纯英文 280 字符、纯中文 140 字、混合按 weight 求和。对比:(1) 微博 2000 字(字符数);(2) Mastodon 默认 500 字符;(3) Threads 500 字符;(4) Bluesky 300 字符(grapheme cluster 算)。

📃 打开 字数统计 字词频率 · 阅读时间 · 批量处理