繁体   English   中英

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并将其映射到 number .map((token) => Number("0x" + token));

[问题]这里我不明白他为什么要在数字上加上“牛”? 我们如何使用 unicode 确定这将是表情符号?

这是来自 wiki 的unicdoe 块(如果它无论如何都与我的问题相关联)

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM