为什么符号''的unicode值在nodejs和python中不同?
nodejs(8.11版)给出的“” .charCodeAt(0)输出为55357
其中python(2.7或3.6版本)ord(''[0])输出为128515
根据{{3}}的128515是正确的。 那为什么nodejs给出不同的数字呢?
答案 0 :(得分:3)
因为JavaScript未实现正确的Unicode编码(可解决1114112个代码点),但未实现UCS-2(仅可解决65536个)。所谓的星体字符在JavaScript中编码为两个UCS-2字符。您的charCodeAt(0)
仅向您显示第一个。
JavaScript中有一个新功能可以解决此问题:
console.log("".codePointAt(0))
MDN具有polyfill,您可以在其中学习翻译背后的数学。