← 返回首页

字符串长度计算器

精确统计字符数、UTF-8/GBK字节数、中英文词数等。

字符数
0
UTF-8 字节
0
GBK 字节
0
行数
0
中文字符
0
英文字母
0
数字
0
标点/空格
0

常见字符字节数参考

字符UTF-8字节GBK字节
ASCII字符 (a-z, 0-9)11
中文 (你)32
Emoji (😀)4-

字符串长度计算 是什么?

字符串长度计算工具,用来数清一段文本到底有多少个字符、多少字节、多少词、多少行。写代码时经常遇到数据库字段限制,比如 MySQL 的 VARCHAR(255) 在 utf8mb4 下最多存 255 个字符,但一个汉字占 3 字节、emoji 占 4 字节,光看字数会踩坑。比如你给商品写标题,后台提示「不超过 60 字符」,你写了 58 个汉字觉得没问题,实际 UTF-8 字节数是 174,超出接口限制被截断。这个工具把字符数、UTF-8 字节数、GBK 字节数、中文字符数、英文单词数、行数一次性列出来,还能把多段文本分别统计后汇总,适合填表单、写接口文档、做数据校验时快速核对。

使用步骤

  1. 打开页面,在顶部输入框粘贴或输入要统计的文本,例如「你好 world 2024」。
  2. 勾选需要的统计项:字符数、UTF-8 字节数、GBK 字节数、词数、行数、中文字符数、英文字符数。
  3. 查看实时结果:上面这段文本字符数为 13,UTF-8 字节数为 16,GBK 字节数为 12,词数为 3。
  4. 需要批量对比时,点击「添加一段」,把第二段文本如「测试 abc」放进去,两段会分别统计并给出合计。
  5. 复制结果或直接对照接口文档里的 maxLength、maxByteLength 参数做校验。

对比:用它还是手工做?

对比维度本工具手工/替代做法
统计耗时粘贴即出结果,约 0.1 秒手工数 500 字约 3-5 分钟,还容易数错
字节数精度同时给出 UTF-8 和 GBK 两种字节数用记事本另存看文件大小,只能看一种编码
多段批量支持添加多段分别统计并汇总每段单独复制到 Word 看字数,来回切换
emoji 处理按 Unicode 码点统计,标注代理对差异JS 的 length 会把 emoji 算成 2,容易误判
隐私纯浏览器本地计算,文本不上传在线接口类工具会把文本发到服务器

常见问题

汉字算几个字符?

在 Unicode 码点层面,一个常用汉字算 1 个字符,比如「中」的码点是 U+4E2D。但字节数取决于编码:UTF-8 下常用汉字占 3 字节,GBK 下占 2 字节。所以「中文」两个字,字符数是 2,UTF-8 字节数是 6,GBK 字节数是 4。数据库字段限制如果写的是字节,就要按字节数判断。

emoji 长度怎么算?

emoji 情况复杂。像「😀」U+1F600 在 UTF-8 下占 4 字节,字符数按码点算 1 个;但 JavaScript 的 string.length 会把它算成 2,因为它是代理对。带肤色修饰符的 emoji 如「👍🏽」由两个码点组成,字符数 2、UTF-8 字节数 8。做长度校验时建议用码点或字节数,别直接用 JS 的 length。

UTF-8 和 GBK 差多少?

ASCII 字符两者都是 1 字节。汉字 UTF-8 是 3 字节,GBK 是 2 字节。例如 100 个汉字,UTF-8 是 300 字节,GBK 是 200 字节,差 100 字节。GBK 覆盖的字符集比 UTF-8 小,生僻字和 emoji 在 GBK 里可能无法表示,会变成问号或占位符。

词数是怎么统计的?

按空白字符(空格、制表符、换行)切分后计数。例如「hello world」是 2 个词,「你好 世界」也是 2 个词。中文没有空格时整段会被当成 1 个词,比如「今天天气不错」词数是 1。如果需要中文分词,得用专门的分词库,这个工具不做语义切分。

行数怎么算的?

按换行符 \n 计数,最后一行如果没有换行符也会算 1 行。例如「a\nb\nc」是 3 行,「a\nb\nc\n」也是 3 行。Windows 的 \r\n 会先归一化处理,不会多算。空文本行数为 0,只有一个换行符的文本行数为 2。

统计基于 Unicode 码点和 UTF-8/GBK 编码规则,字符数按码点计,不等同于 JavaScript 的 string.length(代理对会差 1)。GBK 字节数对 GBK 字符集外的字符按替换符估算,仅供参考。所有计算在浏览器本地完成,文本不会上传到任何服务器,关掉页面即清空。

浙ICP备2026073450号