[英]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.