阅读时charAt在MDN中,我发现UTF-16的javascript序列中的字符串?
为了验证我的理解,我在 NodeJS 中尝试了以下脚本
Buffer.from("€").length // gives 3
这怎么可能是3个字节?据我所知,这应该是 2 或 4 个字节,UTF-16 字符串如何给出 3 个字节?
我在 StackOverflow 中查看了不同的问题,但没有找到这部分的解释。
最佳答案
因为当 creating a Buffer.from
a string ,它需要一种编码,如果您不指定编码,则默认为 UTF-8。
您似乎正在寻找其中之一
Buffer.from("€", "utf16le").length
或者只是
"€".length * 2
关于javascript - javascript 中的字符串编码 UTF-16 或 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61229535/