是否存在任何不可见字符?我查看了谷歌上的不可见字符,得到了许多答案,但我对这些答案并不确定。有没有 Stack Overflow 上的人可以告诉我更多信息?
此外,我查看了 Facebook 上的一个个人资料,并发现该用户没有为其个人资料设置任何名称?这可能吗?是某种数据库问题吗?黑客入侵或其他原因?
当我在互联网上搜索时,我发现200D
是带有不可见字符的 ASCII 值。这是真的吗?
是否存在任何不可见字符?我查看了谷歌上的不可见字符,得到了许多答案,但我对这些答案并不确定。有没有 Stack Overflow 上的人可以告诉我更多信息?
此外,我查看了 Facebook 上的一个个人资料,并发现该用户没有为其个人资料设置任何名称?这可能吗?是某种数据库问题吗?黑客入侵或其他原因?
当我在互联网上搜索时,我发现200D
是带有不可见字符的 ASCII 值。这是真的吗?
我刚刚用字符映射得到了这些内容。它们都是使用 Calibri 字体。
编号 名称 HTML 代码 外观 ------ -------------------- --------- ---------- U+2000 En Quad   " " U+2001 Em Quad   " " U+2002 En Space   " " U+2003 Em Space   " " U+2004 Three-Per-Em Space   " " U+2005 Four-Per-Em Space   " " U+2006 Six-Per-Em Space   " " U+2007 Figure Space   " " U+2008 Punctuation Space   " " U+2009 Thin Space   " " U+200A Hair Space   " " U+200B Zero-Width Space ​ "" U+200C Zero Width Non-Joiner ‌ "" U+200D Zero Width Joiner ‍ "" U+200E Left-To-Right Mark ‎ "" U+200F Right-To-Left Mark ‏ "" U+202F Narrow No-Break Space   " "
一个字符的表示方式取决于渲染器,但服务器在发送文档之前也可能会剥离掉某些字符。
您还可以使用Unicode字符ZERO WIDTH NON-JOINER (U+200C)或HTML中的‌
来创建无标题的YouTube视频,例如https://www.youtube.com/watch?v=dmBvw8uPbrA。下面的代码块应该包含该字符:
实际上有一个真正看不见的字符:U+FEFF
。
这个字符被称为字节顺序标记,与Unicode 8系统相关。这是个非常令人困惑的概念,可以在这里进行解释。字节顺序标记或BOM
简称是一个不占用任何空间的看不见的字符。你可以将下面的字符复制到>
和<
之间。
这是该字符:
> <
如何在操作中捕获此字符:
>
和<
之间的字符,其他答案是正确的 - 一个字符是否可见取决于你使用的字体。这似乎对我来说是一个相当不错的完整列表,其中包含一些其他列表缺失的真正不可见的字符(甚至不是空格)。
'\u2060', // Word Joiner
'\u2061', // FUNCTION APPLICATION
'\u2062', // INVISIBLE TIMES
'\u2063', // INVISIBLE SEPARATOR
'\u2064', // INVISIBLE PLUS
'\u2066', // LEFT - TO - RIGHT ISOLATE
'\u2067', // RIGHT - TO - LEFT ISOLATE
'\u2068', // FIRST STRONG ISOLATE
'\u2069', // POP DIRECTIONAL ISOLATE
'\u206A', // INHIBIT SYMMETRIC SWAPPING
'\u206B', // ACTIVATE SYMMETRIC SWAPPING
'\u206C', // INHIBIT ARABIC FORM SHAPING
'\u206D', // ACTIVATE ARABIC FORM SHAPING
'\u206E', // NATIONAL DIGIT SHAPES
'\u206F', // NOMINAL DIGIT SHAPES
'\u200B', // Zero-Width Space
'\u200C', // Zero Width Non-Joiner
'\u200D', // Zero Width Joiner
'\u200E', // Left-To-Right Mark
'\u200F', // Right-To-Left Mark
'\u061C', // Arabic Letter Mark
'\uFEFF', // Byte Order Mark
'\u180E', // Mongolian Vowel Separator
'\u00AD' // soft-hyphen
← 这是它们的转义ASCII表示:U+00AD U+061C U+180E U+200B U+200C U+200D U+200E U+200F U+202A U+202B U+202C U+202D U+202E U+2060 U+2061 U+2062 U+2063 U+2064 U+2067 U+2066 U+2068 U+2069 U+206A U+206B U+206C U+206D U+206E U+206F U+FEFF U+1D173 U+1D174 U+1D175 U+1D176 U+1D177 U+1D178 U+1D179 U+1D17A U+E0001 U+E0020 U+E0021 U+E0022 U+E0023 U+E0024 U+E0025 U+E0026 U+E0027 U+E0028 U+E0029 U+E002A U+E002B U+E002C U+E002D U+E002E U+E002F U+E0030 U+E0031 U+E0032 U+E0033 U+E0034 U+E0035 U+E0036 U+E0037 U+E0038 U+E0039 U+E003A U+E003B U+E003C U+E003D U+E003E U+E003F U+E0040 U+E0041 U+E0042 U+E0043 U+E0044 U+E0045 U+E0046 U+E0047 U+E0048 U+E0049 U+E004A U+E004B U+E004C U+E004D U+E004E U+E004F U+E0050 U+E0051 U+E0052 U+E0053 U+E0054 U+E0055 U+E0056 U+E0057 U+E0058 U+E0059 U+E005A U+E005B U+E005C U+E005D U+E005E U+E005F U+E0060 U+E0061 U+E0062 U+E0063 U+E0064 U+E0065 U+E0066 U+E0067 U+E0068 U+E0069 U+E006A U+E006B U+E006C U+E006D U+E006E U+E006F U+E0070 U+E0071 U+E0072 U+E0073 U+E0074 U+E0075 U+E0076 U+E0077 U+E0078 U+E0079 U+E007A U+E007B U+E007C U+E007D U+E007E U+E007F
还有更多吗?是的。Unicode标准使任何人都能够用自己的语言阅读和书写。为此,它列出了独特的代码点 (U+十六进制),这些代码点被分类为字母 (D, ž, Dž, ʶ, 愛,), 符号 (+, ∊, ≠, £, ¥, ₪, ҂, ˚, ˟, ˿), 标记 (ם֑֟֯, ী, ◌҉), 分隔符 ( , , , , ), 表情符号 (,) 等等。ASCII/基本拉丁文是表格的起点,每次更新都会添加更多的代码点。
仅列出字符的唯一数字是不够的。字符可以根据上下文改变其形状或改变句子。为了支持这一点,每个代码点都带有一个属性列表。这些属性可能定义宽度 (AA)、在句子中的作用 (-“.)、方向 (cכ) 等等。
大多数不可见字符都具有属性General_Category=Format (其他答案中还包括空格)。这些字符对单词/句子起到支持作用。以下是一些示例:
这些都涉及到利用不可见字符进行同形攻击/视觉欺骗。有时候是无害的,比如不可见的名字和标题,但在许多情况下,它们被恶意使用。例如,U+202E是一个不可见字符,它已经造成了数十年的危害!
最后一点,还有另一种使用字体制作不可见字符的方法。字体是存储字形(字符图片)的文件,用于呈现字符的外观。如果字体不包含某个码点的字形,则显示替代/替换字符(例如�、□)。但是,如果字体包含某个码点的透明字形,则该字符就是不可见的,只有在该字体中显示时才是不可见的。这是在ASCII范围内拥有不可见字符的唯一方式(例如,您能看到→``← U+000C 换页符吗?)
希望您找到这个解释有用,并且可以更经常地检查字符串中的不可见字符。
是的,您可以使用一些HTML代码/符号来使用Facebook上的隐形或空白名称。
方法1:
在您的名字字段中复制并粘贴没有括号的(ﹺ ﹺ)
符号。
方法2:
点击编辑名称。现在在名字的第一个和最后一个位置上复制并粘贴以下符号。
ՙՙ ՙՙ
,或称U+200b
。