问题标签 [zalgo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
206583 浏览

html - Zalgo 文本如何工作?

我已经在各种论坛上看到了如下所示的名为 Zalgo 的奇怪格式的文本。看起来有点烦人,但它真的让我很困扰,因为它破坏了我对角色应该是什么的概念。我的理解是角色应该水平移动穿过一条线并停留在某个“容器”内。显然,Zalgo 文本是垂直移动的,并且似乎不受任何空间的限制。

这是 Unicode 中的错误/缺陷/利用/黑客攻击吗?这些单独的角色是否具有奇怪的属性?这里发生了“什么”?


h̡̫̤̤̣͉̤ͭ̓̓̇͗ơ̯̗̘̮͒̄̈ͤ͡w͓͙͖̥͉̹͓͙͖̥͉̹͋ͬ̊ͦ͋ͬ̊ͦ̚̚e͈͕̯̮̙̣͓͌ͭ̍̐͒s͙͔̺͇̗͙͔̺͇̗̿̊̇̿̊̇͞͞z̆̊͊҉҉̠̦̩͕ą̟̹͈̺̹̋̅ͯĺ̡̘̹̻̩̩͋͘g̪͚͗ͬ͒o̢̢̖͇̬͍͇͓̖͇̬͍͇͓̔͋͊̓̔͋͊̓t̛͓̖̻ͤ̈ͣ͝e͋̄ͬ̽͜҉͚̭͇x͎̬̠͇̌ͤ̓̓͐͐͋͡ţ̗̹̝͎̬̠͇̄̌ͧͩ̌ͤ̓̓͐͐͋̕͢͡ţ̗̹̝̄̌ͧͩ̕͢w͎̭̤͍͇̰̄͗ͭ͗ͮ̐o̢̯̻̰̼͕̾ͣͬ̽̔̍͟r̢̪͙͍̠ǩ̵̶̗̮̮ͪ?̙͉̥̬͙̟̮͕ͤ̌͗ͩ̕͡


0 投票
4 回答
10515 浏览

unicode - 为什么那些泰文字符在网页上显示为长尾?

ด้้้้้็็็็็้้้้้็็็็็้้้้้็็็็็้้้้้็็็็็้้้้้็็็็็้้้้้ด็็็็็้้ด็็็็็้้้้้็็็็็้้้้้็็็็็้้

我在上面粘贴的时候发现了一些有趣的字符,它们只需要 3 个空格宽度。但是字符串的实际长度是 380。

我检查了python中的字符串,字符串编码如下:

'\xe0\xb8\x94\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0 \xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9 \x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89 \xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0 \xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9 \x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87 \xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0 \xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9 \x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xd0\xb4\xe0\xb8\x94\xe0\xb9\x87\xe0\xb9\x87\xe0 \xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9 \x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89 \xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0 \xb9\x89\xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x89\xe0\xb9 \x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87\xe0\xb9\x87 \xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89\xe0\xb9\x89'

该字符串似乎是三个泰语字符的组合:

我的问题是:

  1. 为什么这些角色的行为如此不同,这是一个错误吗?
  2. 我怎样才能在网站中避免它(也许使用一些 html 过滤器)?

更新

我用更多的浏览器测试了字符,长尾只出现在windows平台的chrome和firefox中。

以下是我截取的截图:

赢 7 ie8 赢 7 ie8


ubuntu 火狐 ubuntu 火狐


赢得 7 铬 赢得 7 铬


赢得 7 火狐 赢得 7 火狐


因此,我猜这是与浏览器相关的错误。

0 投票
1 回答
1289 浏览

c# - 如何在 C# 中呈现 Zalgo 文本

GDI+ 的 DrawString 似乎无法呈现 Unicode 上标和/或下标。它将它们显示为正方形并且不堆叠。

使用 DrawString 绘制

由 GDI 绘制

使用 TextRenderer 绘制

由 TextRendere.DrawText 绘制

火狐绘制的

在此处输入图像描述

FireFox 是如何正确绘制的?

我正在使用的数据 - http://pastebin.com/p5Cp3qUM

0 投票
4 回答
55543 浏览

unicode - 这些 Unicode 组合字符是怎么回事,我们如何过滤它们?

กิิิิิิิิิิิิิิิิิิิิก้้็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็กิิิิิิิิิิิิิิิิิิิิก้้ก็กิิิิิิิิิิิิิิิิิิิิก้้้้้้้้้้้้้้้้้้้้กิิิิิิิิิิิิิิิิิิิิก้้้้้้้้้้้้้้้้้้้้ก็ก็็็็็็็็็็็็็็็็็็็็ก็ก็็็็็็็็็็็็็็็็็็็็กิิิิิิิิิิิิิิิิิิิิกิิิิิิิิิิิิิิิิิิิิกิิิิิิิิิิิิิิิิิิิิก้้ก้้้้้้้้้้้้้้้้้้้้ก็้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้</p> </p>

这些最近出现在 Facebook 评论部分。

我们如何对其进行消毒?

0 投票
3 回答
7976 浏览

c# - 如何防止诸如 Zalgo 文本之类的变音符号

嗯?

上图中的角色是几个月前由Mikko Hyppönen 发布的推文,他是一位以计算机病毒研究和TED计算机安全演讲而闻名的计算机安全专家。关于 SO,我只会发布它的图像,但你明白了。这显然不是您想要在您的网站上传播并吓坏访问者的东西。

经过进一步检查,该字符似乎是一个泰语字母加上超过 87 个变音符号(甚至有限制吗?!)。这让我开始思考安全性、本地化以及如何处理此类输入。我的搜索将我引向Stack 上的这个问题,然后是 Michael Kaplan 关于剥离变音符号的博客文章。在其中,他演示了如何将字符串分解为其“基本”字符(为简洁起见,此处进行了简化):

我可以看到这在某些情况下会有用,但就用户输入而言,它会删除所有变音符号。正如卡普兰所指出的,删除某些语言中的变音符号可以完全改变单词的含义。这就引出了一个问题:如何在用户输入/输出中允许一些变音符号,但排除其他极端情况,例如 Mikko Hyppönen 的 über 角色?

0 投票
1 回答
979 浏览

php - 如何检查字符串是否包含 zalgo 文本?

我目前在我的网页上被 zalgo 文本“发送垃圾邮件”,我需要一个函数来检查它是否包含 zalgo。

我找到了这段代码:

但它也阻止了一些合法的帖子。有没有更好的办法?

谢谢

0 投票
0 回答
178 浏览

html - 这种乱码是怎么产生的?我正在查看源代码,但无法理解

看看这个答案: https ://stackoverflow.com/a/1732454/47589

乱码是怎么产生的?我在看页面源

我正在查看页面上的源 HTML(我无法将其粘贴到此处;它会被渲染),但我希望看到 unicode 转义序列。我了解 Unicode 如何工作的基础知识,但我不知道如何复制它。

如何用我自己的文本复制这种乱码?

0 投票
1 回答
1024 浏览

html - 这些角色是如何产生这种效果的?

在 facebook 上,我看到了一些状态更新,它产生了这样的效果:

unicode 奇怪的效果

unicode 是否有一些扩展效果,而不仅仅是一行?

有人可以解释一下为什么会这样吗?根据我从互联网(html,unicode)中了解到的信息,我没有找到对此的解释。

注意:如果我在这里复制它们,它也可以在这里工作,所以这不是 Facebook 问题!

即使在 python 上,他也不认识他们:

离奇的

这是用于研究它们的 char 套件(是 HTML 问题吗?):

ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้</p>

0 投票
1 回答
3553 浏览

unicode - 有趣的奇怪(unicode)字符超过一行

我在社交媒体中发现了一些“有趣”的字符(例如 ḓ̵̙͎̖̯̞̜̞̪̠ 和 •̩̩̩̩̩̩̩̩̩̩),这些字符占用了不止一行。首先,我认为这是 Firefox 的错误。我在 Gedit 和 LibreOffice Writer 中尝试过,它们都是一样的。那么,这究竟是什么?实际上我是在询问字符编码和渲染。

我试图在 GNOME 字符图中找到该字符,但找不到。

我试图用 unicode(可能是 UTF-8)检查它们的字符代码。似乎他们需要不止一个角色。为什么一个字符不止一个字符?这是使用 Python 的结果。

角色ḓ̵̙͎̖̯̞̜̞̪̠</p>

性格•̩̩̩̩̩̩̩̩̩̩</p>

0 投票
1 回答
249 浏览

html - 如何在不同的高度/位置生成这些愚蠢的 html 字符?

请参阅图片以供参考。

我想知道如何创建它们?他们叫什么?为什么这到底是可能的?