ts使用codePointAt转换多个emoji
时间: 2024-01-02 09:02:51 浏览: 55
在JavaScript中,一个常规的字符是由一个或多个unicode码点组成的。因此,如果你想要转换一个多个emoji的字符串,你需要使用codePointAt方法来获取每个字符的unicode码点,并将它们拼接起来。
以下是一个示例代码,使用codePointAt方法将一个包含多个emoji的字符串转换成一个unicode码点的数组:
```
const emojiString = "👩👩👧👧💻🤖";
const emojiArray = [];
for(let i = 0; i < emojiString.length; i++) {
const code = emojiString.codePointAt(i);
if(code > 0xFFFF) {
i++;
}
emojiArray.push(code.toString(16));
}
console.log(emojiArray);
```
在上面的代码中,我们首先创建了一个包含多个emoji的字符串。然后我们使用一个for循环遍历字符串中的每个字符,并使用codePointAt方法获取每个字符的unicode码点。如果某个字符的码点大于0xFFFF,则表示它是一个基本多文种平面(BMP)之外的字符,因此我们需要跳过下一个位置。最后,我们将每个字符的unicode码点转换为16进制字符串,并将它们添加到一个数组中。
当你运行上面的代码时,你将看到以下输出:
```
[ '1f469', '200d', '1f469', '200d', '1f467', '200d', '1f467', '1f4bb', '1f916' ]
```
这个数组包含每个字符的unicode码点,它们已经被转换成16进制字符串。
阅读全文