6

javascript を使用してバイナリ ファイルをバイト単位で読み取る必要があります。このサイトで以下のコードを取得しましたが、機能していません。参照として追加の src ファイルを追加する必要があると思います。ここにコード...

var fs = require('fs');
var Buffer = require('buffer').Buffer;
var constants = require('constants');

fs.open("file.txt", 'r', function(status, fd) {
    if (status) {
        console.log(status.message);
        return;
    }
    var buffer = new Buffer(100);
    fs.read(fd, buffer, 0, 100, 0, function(err, num) {
        console.log(buffer.toString('utf-8', 0, num));
    });
}); 
4

2 に答える 2

8

ファイルをバイト単位で同期的に読み取ることができます。

fs.open('file.txt', 'r', function(err, fd) {
  if (err)
    throw err;
  var buffer = Buffer.alloc(1);
  while (true)
  {   
    var num = fs.readSync(fd, buffer, 0, 1, null);
    if (num === 0)
      break;
    console.log('byte read', buffer[0]);
  }
});
于 2013-04-04T10:43:02.977 に答える
2

次のコードを使用できます。

var blob = file.slice(startingByte, endindByte);
reader.readAsBinaryString(blob);

仕組みは次のとおりです。

  • file.sliceファイルをバイトにスライスし、バイナリとして変数に保存します。開始バイトと終了バイトを指定することでスライスできます。

  • reader.readAsBinaryStringそのバイトをバイナリファイルとして出力します。ファイルの大きさは関係ありません。

詳細については、このリンクを参照してください。

于 2014-06-26T14:33:10.230 に答える