web-dev-qa-db-ja.com

nodejsのバイトバッファのコンテンツの実際のサイズを知る方法は?

ファイルをバイトバッファーとして取得し、fs.stat()メソッドを使用できません。だから私はbuf.lengthを使用しようとしていますが、この長さは実際にはコンテンツサイズではなく、バッファオブジェクトに割り当てられたメモリの量を指します。たとえば、サイズが22,449バイトのファイルがあります。 buf.lengthは、39804を返します。

22
lor1an

byteLength が必要です:

var buff = fs.readFileSync(__dirname + '/test.txt');
console.log( buff.byteLength );

ノード0.10.21の場合、これを試すことができます。

console.log( buff.toString().length );
41
stdob--