我正在尝试在浏览器中获取数字和字符串的实际大小(以字节为单位),例如 Chrome 。
我了解到,在 JavaScript 中,数字以 double 表示占用 64 位,字符串是 UTF-16 代码单元,因此它需要 2 个字节或 4 个字节。
我第一次尝试使用 new Blob
但它将字符串组件字符编码为 UTF-8 而不是 UTF-16。我知道有一个 Buffer.from
Node 中的 API,但在浏览器环境中不可用。
我的问题是如何从浏览器获取数字和字符串的实际大小(以字节为单位),例如 Chrome ?
最佳答案
您可以在 TextEncoder
的帮助下本地完成此操作
let str1 = 'Beta'; // 'Beta' text in English
let str2 = '贝塔'; // 'Beta' text in Chinese
const encoder = new TextEncoder();
const len1 = encoder.encode(str1).length;
const len2 = encoder.encode(str2).length;
console.log(len1); // 4
console.log(len2); // 6
关于javascript - 如何在浏览器环境中获取 JavaScript 中数字和字符串的实际字节大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72889421/