Posted at

node.jsでBuffer経由でArrayBufferを使う

More than 5 years have passed since last update.

ブラウザ向けに書いていたコードをどうしてもサーバサイドでも使いたいと思い調べた結果以下のコードで使えることがわかった。

var fs = require('fs');

function toArrayBuffer(buffer) {
var ab = new ArrayBuffer(buffer.length);
var view = new Uint8Array(ab);
for (var i = 0; i < buffer.length; ++i) {
view[i] = buffer[i];
}
return ab;
}

var buf = fs.readFileSync('./hoge.bin');
var arrayBuf = toArrayBuffer(buf);

これでDataStream.jsをちょこっと変更するだけでnode.jsでも手軽にバイナリをいじれるようになった。

node向けに変更したDataStream.js