javascript - javascript 中的字符串编码 UTF-16 或 UTF-8

标签 javascript string

阅读时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/

相关文章:

JavaScript 自调用函数闭包无法正常工作

javascript - 调用react函数

string - 组合变音符号出现在代码点之后的顺序是否重要?

javascript - 如何在 jquery 中用多个字符串作为分隔符拆分一个字符串

javascript - D3,具有 setInterval 和clearInterval 以及事件处理程序的 javascript 函数范围

JavaScript 事件 window.onload 未触发

javascript - 消除 Javascript 中的按键延迟

r - 匹配和替换文本向量中的多个字符串,而不在 R 中循环

java - 使用特定字符集将 byte[] 转换为 String 时避免创建 'new' String 对象

c - 返回 C 中的字符串数组