字符计数器
同一段文字,两个数字:含空格和不含空格。当平台按其中一种计算,而你按另一种计算时,这个差别就很重要了。
含空格还是不含空格?
屏幕上同时显示两个数字,因为两者都会被用到。社交平台按含空格计算:一条 "hello world" 的推文是 11 个字符,而不是 10 个。存储姓名、优惠码或 URL 的表单通常按不含空格计算,有些则按字节而非字符计算。
如果表单拒绝了你的文本,而计数器显示它符合要求,通常原因有三种:表单按字节计算(一个 emoji 可能占四个字节),它在计数前去除了空白,或者它测量的是像素而非字符。
常见限制(按字符计)
| 位置 | 限制 | 是否计入空格? |
|---|---|---|
| X / Twitter 帖子 | 280 | 是 |
| Instagram 配文 | 2,200 | 是 |
| Instagram 个人简介 | 150 | 是 |
| LinkedIn 帖子 | 3,000 | 是 |
| TikTok 配文 | 2,200 | 是 |
| YouTube 标题 | 100 | 是 |
| SMS,纯文本 | 160 | 是 |
| 含 emoji 或重音符号的 SMS | 70 | 是,且每个 emoji 占用更多 |
| Meta 描述(建议值) | ~155–160 | 是 |
| 页面标题(建议值) | ~60 | 是 |
最后两项是建议值,不是硬性限制:Google 按像素宽度截断,所以一个 58 个宽字符的标题可能被截断,而 62 个窄字符的标题却能保留。把它们当作尺寸建议,而非验证标准。
什么算作一个字符
- 字母、数字、标点和空格各算一个。
- 重音字母如 é 在 Unicode 中是一个字符,但在存储中通常是两个字节。对于非 ASCII 文本,字节限制实际上减半。
- Emoji 是陷阱:单个 emoji 可能是一个可见字形,但包含多个码点。按 UTF-16 单元计算的平台可能对每个 emoji 收取两个或更多。
- 换行符在大多数平台上各算一个字符,有些平台会将其转换为两个(CRLF)。
不要依赖计数器做验证。如果表单有硬性限制,请用最长的现实输入进行测试——一个 emoji、一个带重音的名字、一个换行符——而不是仅凭字符数。
常见问题
为什么我的推文被算作 282,而计数器显示 280?
最可能是一个 emoji 或非拉丁字符被 X 算作两个单元,或者一个链接被缩短为固定长度。平台自己的计数器才是权威。
Meta 描述中的空格算数吗?
算,但限制实际上不是字符限制。搜索引擎测量渲染宽度,所以宽字母和大写字母比窄字母占用更多。目标为 150–160 个字符,并在预览工具中检查效果。
中文文本呢?
在这种情况下,字符数是正确的衡量标准,因为词与词之间没有空格。一个汉字是一个码点,但在 UTF-8 中占三个字节,所以按字节限制的系统大约只允许三分之一的字符数。
文本会存储在任何地方吗?
不会。计数在你的浏览器中计算,textarea 永远不会发送到服务器。刷新页面,示例文本就会恢复。