嘘~ 正在从服务器偷取页面 . . .

U+200B 零宽空格


U+200B 零宽空格

首先放两段文本

测试文本​

测试文本

看出区别了吗?看得出来就离谱了。

用 Sublime Text 打开可以看到区别

零宽空格(英语:zero-width space, ZWSP)是一种不可打印的Unicode字符,用于可能需要换行处。

这个字符在大多数情况下都是不显示的,除了在某些软件中,比如 QQ 。

实际上在 VSCode 里打开一个 cpp 文件,输入这个字符,它会帮你标出来然后报错。


补充

零宽空格属于零宽度字符(非打印字符)的一种

这种字符的出现是为了文字控制排版作用的,但是由于它拥有肉眼无法观察到的特性,

零宽度字符可作为识别某些用户身份的"指纹"数据,也可非常方便地追溯到某些秘密数据的泄露源。

零宽度字符能做什么?

  1. 数据防爬,将零宽度字符插入文本中,干扰关键字匹配。爬虫得到的带有零宽度字符的数据会影响他们的分析,但不会影响用户的阅读数据。
  2. 信息传递,将自定义组合的零宽度字符插入文本中,用户复制后会携带不可见信息,达到传递作用。
  3. 传递隐密信息,利用零宽度字符不可见的特性,我们可以用零宽度字符在任何未对零宽度字符做过滤的网页内插入不可见的隐形文本。
  4. 隐形水印,通过零宽度字符我们可以对内部文件添加隐形水印。在浏览者登录页面对内部文件进行浏览时,我们可以在文件的各处插入使用零宽度字符加密的浏览者信息,如果浏览者又恰好使用复制粘贴的方式在公共媒体上匿名分享了这个文件,我们就能通过嵌入在文件中的隐形水印轻松找到分享者了。
  5. 加密信息分享,通过零宽度字符我们可以在任何网站上分享任何信息。敏感信息的审核与过滤在当今的互联网社区中扮演着至关重要的角色,但是零宽度字符却能如入无人之境一般轻松地穿透这两层信息分享的屏障。对比明文哈希表加密信息的方式,零宽度字符加密在网上的隐蔽性可以说是达到了一个新的高度。仅仅需要一个简单的识别/解密零宽度字符的浏览器插件,任何网站都可以成为信息分享的游乐场。
  6. 逃脱敏感词过滤,通过零宽度字符我们可以轻松逃脱敏感词过滤。敏感词自动过滤是维持互联网社区秩序的一项重要工具,只需倒入敏感词库和匹配相应敏感词,即可将大量的非法词汇拒之门外。使用谐音与拼音来逃脱敏感词过滤会让语言传递信息的效率降低,而使用零宽度字符可以在逃脱敏感词过滤的同时将词义原封不动地传达给接受者,大大提高信息传播者与接受者之间交流的效率。

参考文献

[1] https://cloud.tencent.com/developer/article/2226547


题外话

主要是最近发现 Typora 经常会在我的文档里插入这个字符

导致我的排版有些时候明明空格了,但是渲染出来没有空格。

发了个反馈邮件,应该是最近更新才有的 bug ,不知道啥时候能修好……


文章作者: q779
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 q779 !
评论
  目录