从文件中获取数据和以字节为单位解析数据后有什么区别?

What is difference between get data from file and after parse data in byte?

我对从文件中获取的数据字节的长度有一些疑问。在我的例子中,我使用 readFileSync 方法从文本文件中获取数据。但是当我做类似下面代码的事情时。它给了我 2 个不同的结果。

let data = fs.readFileSync('size.txt');
console.log(data.length);
console.log(JSON.stringify(JSON.parse(data)).length);

结果:579859(控制台日志 1)和 409065(控制台日志 2)

所以,我不明白为什么我将它解析为JSON然后使用stringify方法后,大小变小了。

感谢您的帮助!

JSON.stringify 不会像下面的例子那样恢复空格:

const obj = `{
  "keyA": "obiwan kenobi",
  "testB": "foo"
}`;

console.log(obj);

const obj2 = JSON.stringify(JSON.parse(obj));

console.log(obj.length, obj2.length);

console.log(obj2);