代码之家  ›  专栏  ›  技术社区  ›  M -

为什么两个相同的表情符号不相等?

  •  0
  • M -  · 技术社区  · 2 年前

    我必须验证用户的表情输入,并进行比较,看看他们输入了什么。然而,我开始注意到一些表情符号看起来相同,但并不相等。看看下面的例子, moonA moonB 是3:

    var moonA = "🌕";
    var moonB = "🌕️";
    
    console.log(moonA == moonB);
    console.log("Moon A:", moonA.length);
    console.log("Moon B:", moonB.length);

    是什么导致了这种差异?我在Windows和iOS上仔细观察了它们,它们在两个系统上看起来完全一样。为什么同一个表情符号有两个版本?

    1 回复  |  直到 2 年前
        1
  •  1
  •   John Kugelman Michael Hodel    2 年前

    What Unicode character is this? 将其标识为:

    moonA = "🌕"
        U+1F315 : FULL MOON SYMBOL
    
    moonB = "🌕️"
        U+1F315 : FULL MOON SYMBOL
        U+FE0F : VARIATION SELECTOR-16 [VS16] {emoji variation selector}