文本

不可见字符查看器

粘贴文本,把那些平时看不出痕迹的字符全部标出来。工具会标记空格、Tab 和换行,并重点提示真正容易出问题的字符:零宽空格与连接符、字节顺序标记(BOM)、不换行空格和其它 Unicode 空格、软连字符、双向文本控制符,以及 C0、C1 控制码。每个标记都按类别用不同颜色区分,并标注它的 Unicode 名称和码位,旁边的汇总会统计每种字符出现了多少次。发现不该出现的字符时,一键即可删除零宽、控制和双向控制字符,同时保留正常的空格与换行。全部在浏览器内完成,你检查的文本不会被上传。

  • 在原位标出空格、Tab、换行、零宽字符、BOM 和 Unicode 控制码
  • 按类别用颜色区分每个字符,并标注 Unicode 名称与码位
  • 汇总统计每一种隐藏字符,让你看清复制来的片段到底包含什么
  • 一键删除零宽、控制和双向控制字符,同时保留正常空格与换行
  • 全部在浏览器内运行,粘贴的内容不会上传
工具/不可见字符查看器

字符数

136

不可见

14

种类

12

  • 换行U+000A3
  • 制表符U+00091
  • 回车U+000D1
  • NBSP不换行空格U+00A01
  • SHY软连字符U+00AD1
  • ZWSP零宽空格U+200B1
  • ZWNJ零宽不连字U+200C1
  • ZWJ零宽连字U+200D1
  • BOM字节顺序标记U+FEFF1
  • U+202C双向控制符U+202C1
  • U+202E双向控制符U+202E1
  • U+0007控制字符U+00071
选项

功能简介

一个专注于看不见字符的检查器:标出它们在文本中的位置,准确命名,并加以统计,让复制来的字符串不再是谜。

  1. 01

    原位标注

    每个隐藏字符都在原来的位置以小标记呈现,你能清楚看到一个零宽空格或多余控制码落在可见文字的哪一处。

  2. 02

    准确命名

    每个标记都带有 Unicode 名称和码位,从普通空格到从右到左覆盖符都能对上号,方便核对文档或 bug 报告。

  3. 03

    按类别配色

    空白、Unicode 空格、零宽字符、双向控制符和控制码各有专属颜色,可疑字符会从普通空白中明显跳出来。

  4. 04

    计数与汇总

    汇总列出每一种隐藏字符及其数量,一眼就能确认一段片段里只有一个多余标记,还是有上百个。

  5. 05

    删除不该出现的字符

    一键删除零宽、控制和双向控制字符,同时保留空格、Tab 和换行,让你在不破坏排版的前提下清理字符串。

  6. 06

    本地处理,隐私安全

    所有检测都在浏览器内完成,你检查的文本(可能包含从别处粘来的敏感内容)不会发送到任何服务器。

如何使用

粘贴要检查的文本,读懂标记,必要时清理。

  1. 01

    在左侧输入框粘贴或输入文本,标注结果会随输入实时更新。

  2. 02

    读懂标记:空格、Tab 和换行以低调方式显示,零宽、控制和双向控制字符则以各自的颜色突出。

  3. 03

    把鼠标悬停在任意标记上可查看它的 Unicode 名称和码位,或在汇总里查看每种字符的总数。

  4. 04

    当普通空格只是干扰、你只关心异常字符时,关掉「显示空格」。

  5. 05

    用「删除隐藏字符」清除零宽、控制和双向控制字符,再把清理后的文本复制回去。

功能说明

核心目标是让隐藏字符一目了然、命名准确,并让你无需猜测就能动手处理。

  • 标出空格、Tab、换行和回车,让你看清行尾空格和混用的换行符。
  • 识别零宽空格、零宽连字与不连字、单词连接符以及字节顺序标记。
  • 提示不换行空格、全角空格等看起来像普通空格的 Unicode 空格。
  • 突出双向控制符,包括让文字以误导顺序显示的覆盖符。
  • 显示 C0、C1 控制码和删除符,这些字符可能让解析器或终端出错。
  • 为每个字符标注 Unicode 名称和码位,便于无歧义地说明问题。
  • 统计每一种字符的数量,以及文本中隐藏字符的总数。
  • 一步删除零宽、控制和双向控制字符,同时保留正常空白。
  • 本地运行、不上传,检查从私密文档复制来的内容也放心。

适合哪些场景

隐藏字符常常通过复制粘贴、富文本编辑器和各种导出溜进来。看见它们,混乱的 bug 就变得直白。

  1. 排查复制粘贴问题

    找出从文档或聊天里混进来、破坏了搜索、匹配或构建的零宽空格或不换行空格。

  2. 清理代码与配置

    在源码、YAML 或 JSON 里找出多余的控制码、不换行空格或开头的字节顺序标记——这些常让解析器莫名其妙地拒绝。

  3. 检查隐藏文本花招

    检查文本中是否有零宽字符或双向覆盖符,它们可能被用来伪装链接、文件名,或让代码看起来与实际运行不一致。

  4. 发布前规范内容

    在内容进入 CMS 或数据库之前,检查粘贴的文字里有没有不该出现的不可见字符,并删除它们。

  5. 比对两个看似相同的字符串

    当两个值看起来一样、比较时却不相等,标出不可见字符就能找到它们真正的差异所在。

  6. 审查数据导入

    检查 CSV 或表格导出中的一行样本,看有没有行尾空白和控制码,避免后续处理被污染。

延伸阅读

理清隐藏字符后,可以用 文本统计 统计同一段文本的字数、字符数与字节数;想更彻底地清除多余空白、空行或杂质,交给 文本清理 ;需要把标题或标签统一为一致大小写时,再用 大小写转换 处理后复制回来。

使用建议

几个习惯能让它更好用,也让清理后的结果更可预期。

  • 当一段文字基本都是普通空格、你只想看异常字符时,关掉「显示空格」。
  • 删除前先看清 Unicode 名称和码位,有些字符(例如不换行空格)可能是有意为之。
  • 记住「删除隐藏字符」会保留空格、Tab 和换行;如果还要修掉行尾空白,需要另行处理。
  • 只需确认包含哪些字符时,粘贴一小段有代表性的样本即可,不必整文件粘贴。
  • 清理后把文本复制回出问题的地方再检查一次,因为目标环境可能又加入自己的字符。
  • 把代码或文件名里的双向覆盖符当成值得深究的警示信号,而不是无关紧要的杂音。

边界与注意事项

了解边界,才不会把它误当成完整的 Unicode 分析器或安全扫描器。

  • 它识别的是一组精选的不可见与控制字符,并非完整的 Unicode 属性数据库。
  • 它只报告字符和数量,不判断意图,因此被标出的字符并不等于存在攻击。
  • 「删除隐藏字符」只删除零宽、控制和双向控制字符,所有空格(包括不换行空格)都保持不变。
  • 对很长的文本,原位预览会有上限,但统计仍覆盖全部输入。
  • 它检查的是文本,而非文件或编码,无法独立判断文件编码是否不匹配。
  • 处理在本地进行,准确性取决于你的浏览器,清理后的文本如何使用由你决定。

常见问题

常见问题包括它检测什么、删除如何运作,以及是否会上传内容。

这里所说的不可见字符指什么?

包括空格、Tab 和换行,以及那些渲染时没有宽度或没有字形的字符:零宽空格与连接符、字节顺序标记、不换行空格和其它 Unicode 空格、软连字符、双向控制符,以及 C0、C1 控制码。

为什么两个看起来一样的字符串表现却不同?

它们往往差在一个看不见的字符上,比如用了不换行空格而非普通空格,或夹了一个隐藏的零宽空格。把两个字符串分别粘进来,标记就会显示它们的差异所在。

「删除隐藏字符」到底删掉什么?

它会删除零宽字符、字节顺序标记、双向控制符、软连字符,以及 C0、C1 控制码;普通空格、Tab 和换行都会保留,文本的排版不变。

可以不标注普通空格吗?

可以。关掉「显示空格」后,普通空格会按正常文字对待,只标注 Tab、换行和更不寻常的字符。

它能识别双向文本花招吗?

能。它会标出从左到右、从右到左标记,以及内嵌、覆盖和隔离控制符——这些正是用来让文字以误导顺序显示的字符。

我的文本会被上传吗?

不会。检测、统计和删除都在你的浏览器标签页内完成,因此检查从私密文件复制来的文本也不会离开你的设备。

更多相关工具

继续使用文本工具集:统计你写下的内容、清理它,或转换大小写。它们都和标出隐藏字符自然搭配。