在线字符计数器
统计含空格与不含空格的字符数,适用于推文、meta 描述、SMS 短信及表单字符限制场景。
字符数和不含空格的字符数
字符计数器并排显示两个数字:
- 字符数:框里的所有内容都算,包括汉字、字母、数字、标点、空格、制表符和换行,每个换行算 1。有硬性字数上限的场合,比如表单输入框、广告标题、短信,用这个数。
- 字符数(不含空格):先去掉所有空白字符再数,包括制表符、换行、不间断空格,以及中文排版里用来空两格的全角空格。要求“不计空格”时用这个数。
开头和结尾的空格也算在第一个数里。如果某个输入框总说超了字数,而内容看起来并不长,检查一下末尾有没有多余的空格或空行。
汉字和标点算 1,表情和生僻字不一定
计数器按 JavaScript 存储文本的方式来数,单位是 UTF-16 码元。英文字母、带重音的字母、常用汉字和全角标点都占 1 个码元;表情符号和部分生僻字占 2 个或更多,计数器显示的就是这个数:
| 看到的 | 字符数 | 原因 |
|---|---|---|
| 汉 | 1 | 常用汉字 |
| , | 1 | 全角标点 |
| 𠮷 | 2 | 扩展区生僻字,由一对码元组成 |
| 😀 | 2 | 一个表情由一对码元组成 |
| ❤️ | 2 | 爱心加一个看不见的样式标记 |
| 👍🏽 | 4 | 点赞加一个肤色修饰符 |
| 🇨🇳 | 4 | 国旗由两个字母符号组成 |
| 👨👩👧 | 8 | 三个人物由看不见的连接符拼在一起 |
本站粗体文字生成器等工具生成的花式英文字母,每个也算 2 个字符,所以 10 个字母的粗体名字在这里是 20 个字符。
例子:一条带表情的促销短信
假设要写这样一条两行的短信:
全场满 199 元包邮 🚚
周日 24 点截止。
- 第一行不算表情:11 个字符;表情前的空格:1。
- 货车表情:2。
- 换行:1。
周日 24 点截止。:10。
计数器显示字符数 25,不含空格为 19(去掉了 5 个空格和 1 个换行)。把换行改成空格,总数仍是 25;删掉表情和它前面的空格,就降到 22。
和平台自己的计数对不上时
很多平台都写明了字数上限,但计数方式各有各的规则:有的把两个半角字符算作一个字,有的把一个表情算 1,有的把链接按固定长度计算,换行算不算也不一定。本工具无法知道这些规则,它的结果只能作为接近的参考:
- 快到上限时留几个字符的余量,内容里有表情或链接时更要多留一些。
- 发布前以平台自己的计数器为准。
需要删减时,先看有没有连续的空格、可有可无的词和很长的网址。同一面板上的其他统计也会随之更新,方便看出每次删改的效果。
常见问题
一个汉字算几个字符?+
常用汉字算 1 个,全角标点也算 1 个。只有收录在扩展区的部分生僻字会算 2 个,例如“𠮷”。
空格算字符吗?+
在“字符数”里算,每个空格、制表符、换行都加 1,全角空格也一样。“字符数(不含空格)”会把它们全部去掉。
为什么这里的字数比 App 里显示的多?+
通常是表情的缘故。本工具每个表情计 2 到 8 个字符,而很多应用把一个表情算作 1。另外,有些平台把两个英文字母或数字算作一个字,也会造成差异。
换行算不算字数?+
在这里每个换行算 1。平台是否计算换行要看它自己的规则,内容正好卡在上限时,最好在平台上分别试试有换行和没换行两种写法。