为什么nodejs和python中的符号''的unicode值不同?

时间:2019-03-25 09:16:16

标签: python node.js unicode

为什么符号''的unicode值在nodejs和python中不同?

nodejs(8.11版)给出的“” .charCodeAt(0)输出为55357

其中python(2.7或3.6版本)ord(''[0])输出为128515

根据{{​​3}}的

128515是正确的。 那为什么nodejs给出不同的数字呢?

1 个答案:

答案 0 :(得分:3)

因为JavaScript未实现正确的Unicode编码(可解决1114112个代码点),但未实现UCS-2(仅可解决65536个)。所谓的星体字符在JavaScript中编码为两个UCS-2字符。您的charCodeAt(0)仅向您显示第一个。

JavaScript中有一个新功能可以解决此问题:

console.log("".codePointAt(0))

MDN具有polyfill,您可以在其中学习翻译背后的数学。