问题标签 [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.
html - Zalgo 文本如何工作?
我已经在各种论坛上看到了如下所示的名为 Zalgo 的奇怪格式的文本。看起来有点烦人,但它真的让我很困扰,因为它破坏了我对角色应该是什么的概念。我的理解是角色应该水平移动穿过一条线并停留在某个“容器”内。显然,Zalgo 文本是垂直移动的,并且似乎不受任何空间的限制。
这是 Unicode 中的错误/缺陷/利用/黑客攻击吗?这些单独的角色是否具有奇怪的属性?这里发生了“什么”?
h̡̫̤̤̣͉̤ͭ̓̓̇͗ơ̯̗̘̮͒̄̈ͤ͡w͓͙͖̥͉̹͓͙͖̥͉̹͋ͬ̊ͦ͋ͬ̊ͦ̚̚e͈͕̯̮̙̣͓͌ͭ̍̐͒s͙͔̺͇̗͙͔̺͇̗̿̊̇̿̊̇͞͞z̆̊͊҉҉̠̦̩͕ą̟̹͈̺̹̋̅ͯĺ̡̘̹̻̩̩͋͘g̪͚͗ͬ͒o̢̢̖͇̬͍͇͓̖͇̬͍͇͓̔͋͊̓̔͋͊̓t̛͓̖̻ͤ̈ͣ͝e͋̄ͬ̽͜҉͚̭͇x͎̬̠͇̌ͤ̓̓͐͐͋͡ţ̗̹̝͎̬̠͇̄̌ͧͩ̌ͤ̓̓͐͐͋̕͢͡ţ̗̹̝̄̌ͧͩ̕͢w͎̭̤͍͇̰̄͗ͭ͗ͮ̐o̢̯̻̰̼͕̾ͣͬ̽̔̍͟r̢̪͙͍̠ǩ̵̶̗̮̮ͪ?̙͉̥̬͙̟̮͕ͤ̌͗ͩ̕͡
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'
该字符串似乎是三个泰语字符的组合:
我的问题是:
- 为什么这些角色的行为如此不同,这是一个错误吗?
- 我怎样才能在网站中避免它(也许使用一些 html 过滤器)?
更新
我用更多的浏览器测试了字符,长尾只出现在windows平台的chrome和firefox中。
以下是我截取的截图:
赢 7 ie8
ubuntu 火狐
赢得 7 铬
赢得 7 火狐
因此,我猜这是与浏览器相关的错误。
c# - 如何在 C# 中呈现 Zalgo 文本
GDI+ 的 DrawString 似乎无法呈现 Unicode 上标和/或下标。它将它们显示为正方形并且不堆叠。
使用 DrawString 绘制
使用 TextRenderer 绘制
火狐绘制的
FireFox 是如何正确绘制的?
我正在使用的数据 - http://pastebin.com/p5Cp3qUM
unicode - 这些 Unicode 组合字符是怎么回事,我们如何过滤它们?
กิิิิิิิิิิิิิิิิิิิิก้้็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็กิิิิิิิิิิิิิิิิิิิิก้้ก็กิิิิิิิิิิิิิิิิิิิิก้้้้้้้้้้้้้้้้้้้้กิิิิิิิิิิิิิิิิิิิิก้้้้้้้้้้้้้้้้้้้้ก็ก็็็็็็็็็็็็็็็็็็็็ก็ก็็็็็็็็็็็็็็็็็็็็กิิิิิิิิิิิิิิิิิิิิกิิิิิิิิิิิิิิิิิิิิกิิิิิิิิิิิิิิิิิิิิก้้ก้้้้้้้้้้้้้้้้้้้้ก็้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้</p> </p>
这些最近出现在 Facebook 评论部分。
我们如何对其进行消毒?
c# - 如何防止诸如 Zalgo 文本之类的变音符号
上图中的角色是几个月前由Mikko Hyppönen 发布的推文,他是一位以计算机病毒研究和TED计算机安全演讲而闻名的计算机安全专家。关于 SO,我只会发布它的图像,但你明白了。这显然不是您想要在您的网站上传播并吓坏访问者的东西。
经过进一步检查,该字符似乎是一个泰语字母加上超过 87 个变音符号(甚至有限制吗?!)。这让我开始思考安全性、本地化以及如何处理此类输入。我的搜索将我引向Stack 上的这个问题,然后是 Michael Kaplan 关于剥离变音符号的博客文章。在其中,他演示了如何将字符串分解为其“基本”字符(为简洁起见,此处进行了简化):
我可以看到这在某些情况下会有用,但就用户输入而言,它会删除所有变音符号。正如卡普兰所指出的,删除某些语言中的变音符号可以完全改变单词的含义。这就引出了一个问题:如何在用户输入/输出中允许一些变音符号,但排除其他极端情况,例如 Mikko Hyppönen 的 über 角色?
php - 如何检查字符串是否包含 zalgo 文本?
我目前在我的网页上被 zalgo 文本“发送垃圾邮件”,我需要一个函数来检查它是否包含 zalgo。
我找到了这段代码:
但它也阻止了一些合法的帖子。有没有更好的办法?
谢谢
html - 这种乱码是怎么产生的?我正在查看源代码,但无法理解
看看这个答案: https ://stackoverflow.com/a/1732454/47589
乱码是怎么产生的?我在看页面源
我正在查看页面上的源 HTML(我无法将其粘贴到此处;它会被渲染),但我希望看到 unicode 转义序列。我了解 Unicode 如何工作的基础知识,但我不知道如何复制它。
如何用我自己的文本复制这种乱码?
html - 这些角色是如何产生这种效果的?
在 facebook 上,我看到了一些状态更新,它产生了这样的效果:
unicode 是否有一些扩展效果,而不仅仅是一行?
有人可以解释一下为什么会这样吗?根据我从互联网(html,unicode)中了解到的信息,我没有找到对此的解释。
注意:如果我在这里复制它们,它也可以在这里工作,所以这不是 Facebook 问题!
即使在 python 上,他也不认识他们:
这是用于研究它们的 char 套件(是 HTML 问题吗?):
ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎ํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํํ (◔ д◔) ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้</p>
unicode - 有趣的奇怪(unicode)字符超过一行
我在社交媒体中发现了一些“有趣”的字符(例如 ḓ̵̙͎̖̯̞̜̞̪̠ 和 •̩̩̩̩̩̩̩̩̩̩),这些字符占用了不止一行。首先,我认为这是 Firefox 的错误。我在 Gedit 和 LibreOffice Writer 中尝试过,它们都是一样的。那么,这究竟是什么?实际上我是在询问字符编码和渲染。
我试图在 GNOME 字符图中找到该字符,但找不到。
我试图用 unicode(可能是 UTF-8)检查它们的字符代码。似乎他们需要不止一个角色。为什么一个字符不止一个字符?这是使用 Python 的结果。
角色ḓ̵̙͎̖̯̞̜̞̪̠</p>
性格•̩̩̩̩̩̩̩̩̩̩</p>
html - 如何在不同的高度/位置生成这些愚蠢的 html 字符?
请参阅图片以供参考。
我想知道如何创建它们?他们叫什么?为什么这到底是可能的?