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

  • 16
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

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

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