空白文本工作台 · 免费

隐形字符生成器

复制空白和隐形 Unicode 字符,查看它们的码位以及通常在哪些场合有效;生成最多 1,000 个字符的字符串;还可以粘贴任意文本,找出其中已有的隐藏字符。

在你的浏览器中运行 · 不上传任何内容
报告问题

生成器

选择要复制的内容

常见用途

所有内容都在此标签页中生成和检查。你在这里复制或粘贴的任何内容都不会被发送到任何地方。

可以复制
1

份“韩文填充符”(U+3164),合成一个字符串

标记之间的宽度
可见间隙
用 Ctrl 或 Cmd 加 V 粘贴到任意位置。
长度

各平台会如何计数

看不见的字符串仍然有长度,而不同的系统衡量方式不同。

字符
1
UTF-16 码元
1
UTF-8 字节
3

许多网页表单和 JavaScript 计数器按 UTF-16 码元计数,而数据库和字节限制按 UTF-8 计算。UTF-8 对 U+0080 以下的字符使用 1 个字节,U+0800 以下使用 2 个,U+10000 以下使用 3 个,更高的使用 4 个,因此每份“韩文填充符”占用 3 个字节。

U+3164 的代码形式
HTML 实体
ㅤ
JavaScript 或 JSON
\u3164
CSS 内容
\3164
URL 编码
%E3%85%A4
字符库

25 个空白与隐形字符,逐一标注

每张卡片都会显示码位、所属分类、是否留下可见间隙,以及软件是否把它视为空白符。预览会用你自己的字体把它画在两个标记之间。

显示 25 个,共 25 个

填充字符

填充字符是字形为空的字母或符号。它们不是空白符,所以常常能通过去除空格的检查,这也是空白名字通常会用它们的原因。它们也是应用最常按码位屏蔽的字符,缺少相应字形支持的字体可能会显示方框。

零宽字符

零宽字符完全不占空间。它们经常被删除,而只含有它们的输入框通常被视为空,所以它们更适合藏在文本里,而不是单独作为空白文本使用。

空格字符

Unicode 空格会显示真实的间隙,并算作空白符,所以大多数输入框会去除首尾的这类空格。在可见字符之间,它们通常能保留下来,而且网页不会像合并普通空格那样合并连续的这类空格。

  • 韩文填充符

    U+3164
    已在生成器中
    填充符可见间隙不是空白符
    你的字体

    一个韩文占位字母,沿袭自较早的编码标准,在其中用来标记音节中的空位。

    实际情况:最有名的空白名字字符。它是字母而不是空白符,所以常常能通过会去除空格的输入框;它也是最常被按码位屏蔽的字符。

  • 韩文初声填充符

    U+115F
    填充符宽度因字体而异不是空白符
    你的字体

    用独立的韩文字母拼合音节时,填补空缺的初声(首辅音)位置。

    实际情况:韩文填充符被拒绝时常被拿来尝试。它看起来有多宽取决于字体,不支持韩文字母的字体可能显示方框。

  • 韩文中声填充符

    U+1160
    填充符宽度因字体而异不是空白符
    你的字体

    用独立的韩文字母拼合音节时,填补空缺的中声(元音)位置。

    实际情况:通常显示为零宽度,或与前一个字符合并。在支持的字体中,它跟在初声填充符后面时,两者会组成一个空的音节块。

  • 半角韩文填充符

    U+FFA0
    填充符可见间隙不是空白符
    你的字体

    韩文填充符的半角形式,为兼容较早的东亚字符集而保留。

    实际情况:一个较窄的空白字符,表现往往与韩文填充符相似。不含半角形式的字体可能显示方框。

  • 盲文空白符

    U+2800
    填充符可见间隙不是空白符
    你的字体

    没有任何凸点的盲文方格:一个真正的符号,打印出来是空方格。

    实际情况:它是符号而不是空白符,所以常常不会被去除。常用于空消息和空行;读屏软件可能会朗读它。

  • 零宽空格

    U+200B
    零宽无间隙不是空白符
    你的字体

    标记一个可以换行但不显示空格的位置,用于词与词之间不加空格的语言。

    实际情况:经常被删除,或在单独使用时被视为空。在文本中它仍算一个字符,所以含有它的单词无法再被精确搜索匹配。

  • 零宽非连接符

    U+200C
    零宽无间隙不是空白符
    你的字体

    阻止两个相邻字母连成连字或连写形式。波斯文和多种印度文字都依赖它。

    实际情况:真实的语言需要它,所以它不太容易被从文本中过滤掉,但只含有它的输入框通常仍被视为空。

  • 零宽连接符

    U+200D
    零宽无间隙不是空白符
    你的字体

    要求相邻字符连接在一起。它是组合表情符号(如家庭和职业序列)内部的黏合剂。

    实际情况:删除它会把组合表情符号拆回各个部分。单独放在输入框里时它不可见,且常被视为空。

  • 词连接符

    U+2060
    零宽无间隙不是空白符
    你的字体

    阻止在其所在位置换行,且不添加任何空格。它从零宽不换行空格那里接过了这项工作。

    实际情况:适合让数字和单位、或两个单词保持在同一行。单独放在输入框里时通常被视为空。

  • 零宽不换行空格

    U+FEFF
    零宽无间隙作为空白符去除
    你的字体

    最为人熟知的身份是文件开头的字节顺序标记。它在文本中连接单词的作用已交给词连接符。

    实际情况:粘贴用字节顺序标记保存的文件内容后,第一列出错或比较失败的常见隐藏原因。JavaScript 会把它当作空白符去除。

  • 蒙古文元音分隔符

    U+180E
    零宽无间隙不是空白符
    你的字体

    在蒙古文中分隔词尾元音。在 Unicode 6.3 把它重新归类为格式字符之前,它一直算作空格。

    实际情况:旧软件可能仍把它视为空白符,新软件通常不会,所以它的表现不如这里的大多数字符一致。

  • 组合字素连接符

    U+034F
    零宽无间隙不是空白符
    你的字体

    一种不可见的组合标记,能让重音符号保持固定顺序,并在排序时防止两个字母被当作一个单位。

    实际情况:它会附着在前一个字符上,所以不能单独出现在空输入框中。比起生成空白文本,它更适合藏在文本里。

  • 不换行空格

    U+00A0
    空格可见间隙作为空白符去除
    你的字体

    正常宽度的空格,阻止在此处换行。

    实际情况:和其他空格一样,在大多数输入框的首尾会被去除;但在词与词之间,网页不会合并连续的不换行空格,所以能保留间隙。

  • En 空格

    U+2002
    空格可见间隙作为空白符去除
    你的字体

    宽度为半个 em,1 em 等于当前字号。

    实际情况:会被视为空白符,所以通常会从输入框首尾去除,但在词与词之间会保留,且不会被合并。

  • Em 空格

    U+2003
    空格可见间隙作为空白符去除
    你的字体

    宽度为 1 em,等于当前字号。

    实际情况:在个人简介中缩进或拉开一行间距的常用方法,因为连续的 Em 空格不会像普通空格那样被合并。

  • 三分之一 Em 空格

    U+2004
    空格可见间隙作为空白符去除
    你的字体

    三分之一 em,通常接近普通的词间空格。

    实际情况:会被视为空白符,所以通常会从输入框首尾去除,但在词与词之间会保留,且不会被合并。

  • 四分之一 Em 空格

    U+2005
    空格可见间隙作为空白符去除
    你的字体

    四分之一 em。

    实际情况:会被视为空白符,所以通常会从输入框首尾去除,但在词与词之间会保留,且不会被合并。

  • 六分之一 Em 空格

    U+2006
    空格可见间隙作为空白符去除
    你的字体

    六分之一 em,一种较窄的排版空格。

    实际情况:会被视为空白符,所以通常会从输入框首尾去除,但在词与词之间会保留,且不会被合并。

  • 数字空格

    U+2007
    空格可见间隙作为空白符去除
    你的字体

    在数字等宽的字体中与一个数字同宽,用于对齐数字列。它不允许换行。

    实际情况:会被视为空白符,所以通常会从输入框首尾去除,但在词与词之间会保留,且不会被合并。

  • 标点空格

    U+2008
    空格可见间隙作为空白符去除
    你的字体

    与句点同宽,用于标点旁的间距。

    实际情况:会被视为空白符,所以通常会从输入框首尾去除,但在词与词之间会保留,且不会被合并。

  • 细空格

    U+2009
    空格可见间隙作为空白符去除
    你的字体

    约为五分之一 em,用于数字分组之间和某些标点旁。

    实际情况:会被视为空白符,所以通常会从输入框首尾去除,但在词与词之间会保留,且不会被合并。

  • 极细空格

    U+200A
    空格可见间隙作为空白符去除
    你的字体

    Unicode 空格中最细的一种,比细空格还窄。

    实际情况:会被视为空白符,所以通常会从输入框首尾去除,但在词与词之间会保留,且不会被合并。

  • 窄不换行空格

    U+202F
    空格可见间隙作为空白符去除
    你的字体

    不允许换行的细空格。法文标点和某些数字格式会用到它。

    实际情况:日期和时间解析失败的常见隐藏原因,因为有些软件在格式化时间时会把它放在 AM 和 PM 前面。

  • 中等数学空格

    U+205F
    空格可见间隙作为空白符去除
    你的字体

    十八分之四 em,用于数学公式中的间距。

    实际情况:会被视为空白符,所以通常会从输入框首尾去除,但在词与词之间会保留,且不会被合并。

  • 表意文字空格

    U+3000
    空格可见间隙作为空白符去除
    你的字体

    与一个中文、日文或韩文字符同宽,是东亚输入法输入的空格。

    实际情况:明显的宽间隙。它属于空白符,所以通常会从输入框首尾被去除。

每个平台过滤这些字符的方式都不同,规则也会变化,所以这些说明描述的是通常会发生的情况,而不是某个具体应用的做法。隐形字符仍然是字符:它可能破坏搜索和代码,有些服务还会把空白名字视为垃圾信息。请负责任地使用。

隐藏字符检测器

查找并删除隐形字符

粘贴表现异常的文本:怎么搜都匹配不上的关键词、总是验证失败的密码、无法排序的列。每个隐形字符或不常见的空格都会标出码位和位置。

普通空格、制表符和换行符永远不会被标记。0 / 100,000
里面藏着什么

在上方粘贴文本或载入示例,每个隐形字符都会以带标签的标记形式出现在它所在的位置。

工作原理

空白字符分三类,用哪一类很重要。

隐形字符并不是同一种东西。韩文填充符这类填充符是字形为空的字母,所以大多数表单执行的去除首尾空白操作不会动它们。零宽字符是完全不占空间的格式控制符,很多应用会把它们删掉。Unicode 空格会显示真实的间隙,但属于空白符,所以在去除首尾空白的输入框里,它们会从两端消失,却能在词与词之间保留下来。知道一个字符属于哪一类,就能预判它的大部分表现;检测器则反过来利用同样的知识,找出你从未打算粘贴的字符。

  1. 01

    选择字符或常见用途

    从 25 个已标注的字符中选择,或从预设开始:空白名字、空消息、个人简介中的间距或空行。每张卡片都会显示码位、分类以及它是否留下间隙。

  2. 02

    设置数量并复制

    生成 1 到 1,000 份副本,合并为一个字符串。面板会在两个标记之间画出它的宽度,并给出以字符、UTF-16 码元和 UTF-8 字节计的长度,然后一键即可复制。

  3. 03

    检查别人发给你的文本

    把任何表现异常的文本粘贴到检测器中。每个隐藏字符都会标出码位、行号和列号,一个按钮就能把它们全部删除,方便你复制清理后的文本。

适用于名字、消息和杂乱的文本

复制正确的空白字符,揪出你不想要的那些。

清楚标注,不是神秘方块

每个字符都附有 Unicode 名称、码位、分类、宽度,以及软件是否把它视为空白符。当某个空白名字失效时,你能确切知道自己粘贴了什么,以及接下来该试什么。

按平台的方式计数

空白文本在肉眼看来是空的,在数据库里却可能占 30 个字节。生成器并排显示字符数、UTF-16 码元和 UTF-8 字节数,因为表单限制、数据库字段和社交网络可能各自衡量不同的指标。

面向开发者的代码形式

可以复制 HTML 实体、JavaScript 转义、CSS 转义或百分号编码形式。写 \u200B 而不是直接粘贴原始字符,能让刻意放置的隐形字符对下一个阅读代码的人保持可见。

检测你没有添加的字符

字节顺序标记、零宽空格、窄不换行空格、方向控制符、变体选择符、标签字符和控制码,都会在原位置显示标记,并附上名称、行号和列号。

清理时不会破坏表情符号

删除时会保留把组合表情符号或字符变体连在一起的连接符和选择符,并把不常见的空格转换为普通空格,而不是让单词粘在一起。撤销可以恢复原文。

如实说明在哪里有效

说明只会告诉你哪些通常有效、哪些通常会被删掉,绝不声称哪个应用接受什么。每个平台都按自己的方式过滤这些字符,而且规则会在没有通知的情况下改变。

隐形字符常见问题

韩文填充符、零宽空格、空白名字与清理。

如何输入隐形字符?+

最可靠的方法是复制,这正是本页按钮的用途。有几个字符可以直接输入:在 Windows 上,按住 Alt 键并在数字小键盘上输入 0160,就能得到不换行空格;在 Mac 上,许多键盘布局下按 Option 加空格键效果相同。许多 Linux 桌面支持按 Ctrl、Shift 和 U,再输入 200b 这样的十六进制代码。在 Microsoft Word 中,可以输入 3164 这样的代码,再按 Alt 加 X 进行转换。在源代码里,请改为书写 \u200B 或 ​ 这样的转义,让下一个读者能看到它的存在。

什么是韩文填充符(Hangul Filler)?+

U+3164 是韩文兼容字母区块中的字符,沿袭自一项较早的韩文编码标准,在其中用来标记音节中的空位。Unicode 把它归类为字母而不是空格,所以去除空白符的软件不会动它。正是这一点让它成为最有名的空白名字字符,也正因如此,一些应用现在会按码位屏蔽它。不支持韩文的字体可能会把它显示为方框,而不是空白。

什么是零宽空格?+

U+200B 标记一个可以换行但不显示任何空格的位置。它是为泰文、高棉文等词与词之间不加空格的语言而设的,也被用来让长 URL 能够换行。它没有宽度,所以你看不见,但它仍然是一个字符:含有它的单词,与不含它的同一个单词在搜索时不会匹配。在 URL 中,它显示为 %E2%80%8B。

如何在游戏或应用中设置空白名字?+

先使用“空白名字”预设,它会复制一个韩文填充符,然后把它粘贴到名字输入框中。如果输入框要求最短长度,就把数量调高到满足要求。如果被拒绝,可以试试其他填充符,例如半角韩文填充符或盲文空白符,因为每个应用都有自己的过滤列表。空格单独使用很少有效,因为几乎所有表单都会把它们去除。空白名字可能违反某项服务的规则,或被标记为垃圾信息,所以请先查看你所用应用的条款。

为什么有些隐形字符不起作用?+

因为每个应用都自行决定接受什么。大多数表单会去除输入框首尾的空白符,这会删掉 Unicode 空格。许多应用会刻意删除零宽字符。有些应用维护着一份直接拒绝的空白字符列表,其中常常包括韩文填充符。字体也有影响,因为字体无法显示的字符可能会显示为方框。规则会随时间变化,所以去年有效的字符今天可能已被过滤。尝试另一类字符(填充符、零宽字符或空格)是找到可用字符的最快方法。

为什么我的空白文本仍然算作字符?+

因为每个隐形字符都是真正的字符。一个韩文填充符在人看来是一个字符,在 JavaScript 中是一个 UTF-16 码元,在 UTF-8 中是三个字节,所以十个就能填满 30 字节的限制。生成器会同时显示这三种计数,因为表单、数据库和社交网络可能各自衡量不同的指标。

如何查找文本中的隐藏字符?+

把文本粘贴到本页的检测器中。每个隐形字符或不常见的空白符都会在屏幕上替换为显示其码位的标记,表格会列出每一种字符、出现次数,以及前几处出现的行号和列号。它能检测零宽字符、字节顺序标记、不换行空格和窄不换行空格、方向控制符、变体选择符、标签字符、软连字符和控制码。普通空格、制表符和换行符不会被标记。

如何删除零宽空格?+

把文本粘贴到检测器中,点击“删除隐形字符”,然后复制结果。不换行空格等不常见的空格会变成普通空格,避免单词连在一起;行分隔符和段落分隔符会变成普通换行,这两项都可以关闭。默认会保留把表情符号连在一起的连接符和选择符,所以家庭或职业表情符号不会被拆散。在 JavaScript 中,text.replace(/[\u200B-\u200D\u2060\uFEFF]/g, "") 可以删除常见的零宽字符。

为什么看起来没问题的日期或数字会解析失败?+

常见原因是某个空格并不是 U+0020。有些软件在格式化时间时会在 AM 和 PM 前放一个窄不换行空格,有些地区设置用它作千位分隔符,而网页和文字处理软件还会带来不换行空格。它们看起来和普通空格一模一样,但期望 U+0020 的解析器会拒绝它们。把这个值粘贴到检测器中,就能准确看到其中是哪种空格。

可以使用隐形字符吗?+

使用 Unicode 字符本身并没有错,这些字符是为真实的排版和语言需求而存在的。某种具体用法是否被允许,取决于平台。有些服务禁止空白或具有误导性的名字,有些会把隐形文本视为垃圾信息或规避过滤的企图,而用隐藏字符绕过审核可能导致账号受限。请阅读该服务的规则,不要用隐形字符误导他人或规避安全系统。

更多专注好用的工具,随时待命。

探索不断扩充的工具合集,涵盖计算、文档、写作和日常工作。

浏览全部工具