我如何使用TypeScript确定一串代码中有多少千字节



假设我有以下打字稿代码(表示为字符串(:

function greet(name: string): void {
  console.log(`Hello ${name}!`);
}

我将如何通过编程方式确定此字符串中有多少千字节?

我目前正在使用以下等式:

// NOTE: "string.length" represents the number of bytes in the string
const KB: number = (string.length / 1024).toFixed(2);

问题是,这个数字通常看起来太大或太小而无法正确。

当我将字符串放入空文件中并保存时,我的文件管理器的属性输出了完全不同的大小,有时会熄灭2-20 kb。

我在做什么错,我应该使用 1000字节代表一个千字节而不是 1024

JavaScript字符串中的一个字符是使用Unicode编码的,每个引擎都有自己的角色集,最受欢迎的角色是UTF-16。因此,每个字符都包含数据的2 bytes。要查找字符串使用的总kilobytes,请找到使用的bytes的数量,然后将其除以1024

const string = "abcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabcabc";
const b = string.length * 2;
const kb = (b / 1024).toFixed(2);
console.log(`${kb}KB`);

最新更新