gpt4 book ai didi

javascript - 为什么此代码显示不正确的 Unicode?

转载 作者:行者123 更新时间:2023-11-29 20:31:52 24 4
gpt4 key购买 nike

以下最少的代码创建了一个包含狗表情符号和红心表情符号的字符串。然后它用爪子划过绳子,显示出第二个表情符号,即红心。为什么(在 Firefox 上)显示的是黑心?

var u='\ud83d\udc0e\u2764';
var count=0;
for (let point of u)
if (count++)
alert(u+": "+point);

最佳答案

U+2764 HEAVY BLACK HEART 早于彩色表情符号,因此单独处理时它是一颗黑心。要使其变为红色,请将其加入 U+FE0F VARIATION SELECTOR-16,例如:

var u='\ud83d\udc0e\u2764\ufe0f';

但是,您的 for 循环会忽略 \ufe0f 并且仍然只显示 \u2764 本身,因为它们是单独的代码点。

调整你的循环以查看 u 之后的下一个代码点,如果它是一个变量选择器则包含它:

alert("\u2764"); // black heart
alert("\u2764\ufe0f"); // red heart

关于javascript - 为什么此代码显示不正确的 Unicode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57796159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com