代码之家  ›  专栏  ›  技术社区  ›  Mina

String.fromCodePoint()不返回标志emoji

  •  1
  • Mina  · 技术社区  · 6 年前

    我正在尝试从Unicode获取emoji,所有Unicode都返回emoji,但只有国旗emoji不返回emoji,它返回emoji名称的第一个字母表。

    这是我的代码:

    String.fromCodePoint(parseInt('1f1fa-1f1f8', 16)) // 🇺 此代码返回而不是

    但如果我使用其他emoji代码而不是flag emoji代码,它就可以工作了。 String.fromCodePoint(parseInt('1f61b', 16)) //😛 此代码返回正确的表情符号

    有人能帮我吗?

    2 回复  |  直到 6 年前
        1
  •  1
  •   pavi2410    6 年前

    parseInt('1f1fa-1f1f8', 16) 正在返回 127482 这和 parseInt('1f1fa', 16)

    所以要解决这个问题,你可以用连字符(-)把它们分开

    var c = '1f1fa-1f1f8'.split('-')
                         .map(i => parseInt(i,16))
    String.fromCodePoint(...c) // us
    
        2
  •  1
  •   14jbella    6 年前

    尝试 String.fromCodePoint(parseInt('1f1fa', 16), parseInt('1f1f8', 16))

    parseInt 只返回第一个字节,而不是两个字节。据我所知, 帕森特 一次只能分析一个值。

    推荐文章