[英]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.