JavaScriptでバイナリを読むjDataView
どうしたものかと思っていたところ、typed arrayの仕様の中にDataViewというものがあるようだ。
しかしポータビリティはよくないので、当面はpure JSによる実装であるjDataViewを使ったほうがいいのかもしれない。
こちらはオリジナルのDataViewを拡張しており、ストリームのように使える。また、ロードするとjQueryの$.get()でdataviewを使えるようになるのも嬉しい。
// from ArrayBuffer var buffer = jDataView.createBuffer(1, 2, 3); // helper var view = new jDataView(buffer); console.log(view.getUint8()); // 1 console.log(view.getUint8()); // 2 console.log(view.getUint8()); // 3 // from jQuery $.get( './hello.exe', function (view) { console.log( view.getString(2) ); // 'MZ' }, 'dataview' );