使用说明与限制
排查乱码和不可见字符的步骤
- 原样粘贴待检查的文本,不要先手动清理空格或换行,否则可能把问题字符一并删掉。
- 点击“处理”,先看码点、UTF-16 单元和 UTF-8 字节的总数,再逐行查看下方明细。
- 关注标记为零宽、空白或双向控制的条目;复制或下载 JSON,可把码点记录提供给开发者排查。工具不会自动删除或替换原文。
示例:为什么三个字符占了四个 UTF-16 单元?
A中😀此例有 3 个码点、4 个 UTF-16 单元、8 个 UTF-8 字节:
- A
- 码点
U+0041;UTF-8 为41;UTF-16 为0041。 - 中
- 码点
U+4E2D;UTF-8 为E4 B8 AD;UTF-16 为4E2D。 - 😀
- 码点
U+1F600;UTF-8 为F0 9F 98 80;UTF-16 需要代理对D83D DE00,因此占两个单元。
怎样看懂不可见字符提示?
U+0020是普通空格,U+00A0是不换行空格;两者看起来接近,但比较和换行行为可能不同。U+200B是零宽空格,可能导致账号、URL 或复制内容看起来相同却匹配失败。U+200D是零宽连字,在某些 emoji 序列中具有正常用途,不应一律删除。- Tab、换行、回车和部分双向控制字符会用标签显示,避免控制符影响表格排版。标签是结果里的说明,不是原始文字的一部分。
这里的“字符数”就是肉眼看到的字数吗?
不是。e 加组合重音 U+0301 可以显示得像一个字形,但占两个码点;家庭 emoji 也可能由多个码点组合。此工具逐码点分析,不做完整字素分段、不提供所有 Unicode 字符名称,也不自动进行规范化。每次最多分析 5000 个码点。