[英]Why is that JavaScript's strings are using UTF-16 but one character's actual size can be just one byte?
在内部,JavaScript 源代码被视为 UTF-16 代码单元序列。
请注意,这是指源代码,而不是字符串值。 字符串值在文章后面也被引用为 UTF-16:
当一个字符串包含实际的文本数据时,每个元素都被认为是一个 UTF-16 代码单元。
这里的差异实际上是在 Blob 构造函数中。 来自MDN :
请注意,这里的字符串编码为 UTF-8,与通常的 JavaScript UTF-16 字符串不同。
UTF 具有不同的字符大小。
a
的大小为 1 字节,但ą
例如有 2
console.log('a', new Blob(['a']).size) console.log('ą', new Blob(['ą']).size)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.