gitmoji 的 Unicode

Unicodes for gitmoji

我正在审查代码,他们的作者在其中做了类似的事情

const emojis: Array<Icon | undefined> | undefined = emojiSet
  .map((emoji) => {
    if (emoji.name && emoji.unified) {
      const codePoints = emoji.unified
        .split("-")
        .map((token) => Number("0x" + token));
        
      return {
        name: emoji.name,
        value: String.fromCodePoint(...codePoints),
        index: emoji.unified,
      };
    }
    return undefined;
  })
  .filter(Boolean);

为了理解代码,我浏览了这个 repo(这是上面用来迭代 json 的内容)

这里,在例子中统一为 "unified": "261D-FE0F",

当他这样做时,

   const codePoints = emoji.unified
        .split("-")
        .map((token) => Number("0x" + token));

他正在遍历 261D-FE0F 并将其映射到数字 .map((token) => Number("0x" + token));

[问题]这里我无法理解他为什么要在数字后面加上“牛”?我们如何使用 unicode 确定这将是表情符号?

这是来自 wiki 的 unicdoe blocks(如果它与我的问题有关的话)

因为数字是十六进制的。 0x 是用于表示十六进制数的前缀。 Number("261D")NaN,但 Number("0x261D") 是 9757。

JavaScript 中可用的其他前缀是 0b(二进制,例如 0b11 是 3)和 0o(八进制,例如 0o11 是 9) .