2015-07-02 37 views
1

我一直在試圖讓一個Float64Array與一個數組緩衝區一起工作,但節點只是沒有它。當我做這個....ArrayBuffer不能與Float64Array一起使用節點

var ab = new ArrayBuffer(buffer.length); 

    var view = new Uint8Array(ab); 

    console.log(view.length);//prints 3204 

但是當我這樣做......

var ab = new ArrayBuffer(buffer.length); 

var view = new Float64Array(ab); 

console.log(view.length);//prints nothing 

我也曾嘗試...

var view = new Float64Array(ab,0,buffer.length); 

而且仍然無法正常工作。

任何人都可以闡明爲什麼我不能訪問這個64位陣列?該緩衝區剛剛從一個文件中讀取,該文件是64位浮點數的數組。我只需要訪問它。

+0

我剛剛在Node 0.10.25中試過類似的東西,它工作正常。 'buffer.length'的價值是什麼? (哦; 3200 duhh) – Pointy

+0

實際上大小是3204這是什麼導致了問題。 – Exitos

回答

1

好吧我剛剛意識到我的單元測試框架吞嚥了一個異常,它告訴我進入Float64Array的緩衝區的長度必須是8的倍數。但是我正在閱讀的文件顯然有一個標題或其他東西!

所以我調整了大小,它的工作原理。

相關問題