为什么捂脸表情符号‍♀️后面是U+200D♀

Why is facepalm emoji ‍♀️ followed by U+200D♀

我正在尝试通过串行设备将 utf-8 符号发送到浏览器并显示它们。当我打印 facepalm 表情符号 ‍♀️ (on windows 10 Win+.) 时,我发现它有 U+200D和后面的 个字符。其他表情符号没有。我正在使用 View non-printable unicode characters 工具。我还发现,如果你在记事本中打印它,它会显示 ,当你在浏览器地址栏中打印它时, 是不可见的,但如果你按退格键,它就会被删除。最后,如果你在一些 html 文本输入中打印它,你可以用一个退格键删除整个表情符号。这是为什么?

表情符号序列有多个代码点来表示变化(根据浏览器的不同,下面的每个序列可能看起来不同,也可能不一样):

 PERSON FACEPALMING U+1F926
‍♂️ MAN FACEPALMING    U+1F926 U+200D U+2642 U+FE0F
‍♀️ WOMAN FACEPALMING  U+1F926 U+200D U+2640 U+FE0F

参考文献:

有些 editors/browsers 比其他人更好地处理序列,并且可能不会在所有变体中显示出差异,或者可能无法识别最新的 Unicode 规范和更新的表情符号。