字符串长度统计

📏 String Length Counter

Count characters, bytes, lines, words and spaces.

📐 工作原理与说明
统计文本的字符数、字节数、词数与行数,是内容与接口限长校验的常用工具。
  • 字符 vs 码元:JS 的 .length 计的是 UTF-16 码元,emoji 与部分生僻汉字占 2 个码元。
  • 准确计数:用 [...str].lengthIntl.Segmenter 按字素簇切分更符合直觉。
  • 字节数:取决于编码,UTF-8 下英文 1 字节、常用中文 3 字节、emoji 常 4 字节。
  • 词数:英文按空白与标点切分;中文需分词,常用字数与字符数近似。
📌 统计规则

📚 深度解析:字符串长度统计

💡 常见使用场景

统计
"Hello 世界":字符数 8(H e l l o 空格 世 界),UTF-8 字节数 11(中文各 3 字节)。

❓ 常见问题(FAQ)

字符数与字节数为何不同?
中文等多字节字符在 UTF-8 占多字节,数据库常按字节限制。
为什么 emoji 长度算出来是 2?
因为 JS 字符串的 .length 统计的是 UTF-16 码元,而 emoji 大多位于辅助平面、需两个码元(代理对)表示。要得到「人眼看到的字符数」,应遍历 [...str] 或用 Intl.Segmenter 按字素簇计数;统计传输体积则要看 UTF-8 字节数。