Free Tool

空白文字生成器

四个不可见 Unicode 字符,各司其职。按码点选择——U+200B 用于换行机会,U+2800 和 U+3164 用于空白用户名和消息,U+3000 用于全角 CJK 间距。

生成空白文字
选择字符和所需数量
零宽空格U+200B

零宽格式字符,标记允许换行的位置。不可见且不占空间;部分聊天应用会把它剥离。

空白文字究竟是什么

空白文字是一串渲染时没有可见字形的 Unicode 字符。并不存在唯一的「不可见字符」,有好几种,行为各不相同。U+200B 这类零宽字符不占空间,作用是标记换行机会。U+2800(盲文空白)、U+3000(全角空格)、U+3164(谚文填充)这类可见却空白的字符各占一个字符单元,但屏幕上什么都不画。这个区别很重要,因为各平台对它们的过滤方式不同。多数聊天应用会剥离开头和结尾的空白,这会移除普通空格(U+0020)和制表符,但往往放过 U+2800 和 U+3164,因为 Unicode 把它们归类为符号和字母,而不是空白。人们想要空白用户名或空白消息时会选用这两个字符,原因就在这里。

空白文字的用途

聊天应用上的空白消息
WhatsApp、Discord、Telegram 拒绝真正为空的消息。单个谚文填充(U+3164)或盲文空白(U+2800)能通过校验,作为空白行发出。
必填表单字段
当表单要求输入你没有的内容时,空白字符能满足「非空」检查。字段看起来没动,提交的却是一个真实字符。
简介和文案间距
Instagram 和 TikTok 简介会合并连续空格。盲文空白能占住一个空白单元而不被裁剪,让你手动控制换行和缩进。
不可见的游戏用户名
据报道 PUBG Mobile 和 Free Fire 接受用户名里的 U+3164。支持情况随版本变化,提交前先测试。

不同空白字符为何表现不同

Unicode 给每个字符分配一个通用类别,这个类别决定了平台如何对待它。U+0020(普通空格)是空格分隔符。U+200B(零宽空格)是格式字符。U+2800(盲文空白)是符号。U+3164(谚文填充)是字母。U+3000(全角空格)和普通空格一样是空格分隔符,但是全宽。聊天应用执行剥离空格的例程时,通常会移除空格分隔符,有时也移除格式字符,但放过符号和字母。盲文空白和谚文填充能在零宽空格被剥离的地方仍然生效,原因就在这里。第二个变量是宽度。零宽字符在视觉上不占成本,但也不会把文字撑开,用于缩进毫无用处。U+3000 宽度为一个 em,所以 CJK 文本用它做段落缩进,而不是堆叠普通空格。U+2800 和 U+3164 各占一个字符单元,这让它们适合在按字符计数的用户名字段里占住一个空白行。

粘贴前的注意事项

如果单个不可见字符被剥离,就粘贴三个或五个。有些过滤器只裁剪孤立的字符。

盲文空白(U+2800)和谚文填充(U+3164)能躲过空白剥离;零宽空格(U+200B)往往不能。

全角空格(U+3000)宽度为一个 em。它可见为一段空白,并非真正不可见。用于 CJK 缩进,不要用于空白用户名。

部分 Android 版本会把盲文空白渲染成淡色虚线框。依赖它之前先在另一台设备上检查。

Discord 消息至少需要一个字符;U+3164 算作一个字符,频道里所有人都看到空白。

不要把空白字符放进话题标签或 @提及里。它们会破坏链接,提及也无法解析。

游戏支持随每次更新变化。上一赛季在 PUBG 里有效的做法现在可能已被过滤,先在私人对局里测试。

从网站和 PDF 复制的文本常带有隐藏字符。如果文本表现怪异,粘贴到检测器里看看。

哪种空白字符在哪里可用

谚文填充(U+3164)的接受度最广:它能通过 Discord 昵称和消息、Instagram 简介和评论、TikTok 简介、WhatsApp 和 Reddit 的校验。盲文空白(U+2800)紧随其后,当审核机器人过滤谚文字符时,它是更好的选择。零宽空格(U+200B)在浏览器和多数文本字段里可用,但会被激进剥离的聊天应用移除;TikTok 尤其会从简介里移除它。全角空格(U+3000)在 CJK 语言界面和任何接受全角文本的字段里受尊重,但它渲染为可见空白而非一无所有。Discord 用户名(@handle)自 2023 年起只接受小写字母和数字,所以那里任何不可见字符都不奏效,只有服务器昵称和显示名称可以。

关于空白文字的常见问题