2012-12-17 110 views
1

轉換爲整數數組我有一個由N個整數組成的大字節數組(有符號16位,小尾數),我想用javascript構建一個整數數組。從網絡服務器上將

當然,我可以迭代傳入的數組並推送每個字節。這樣做沒有問題。

我想知道是否有更方便的方法來填充數組。例如,在C中,我可以將一個整數指針設置爲第一個字節,然後訪問所有其他字節。或者,我可以將malloc和memcpy緩衝區保存到一個保留空間。在這兩種情況下,我不必迭代源數組。

+0

當然,在JavaScript中,它表達爲一個數字數組? – Lloyd

+0

當你使用'console.log()'時,傳入數組的樣子是什麼? – Cerbrus

+0

無論如何你都需要遍歷數組,不方便。 – dencey

回答

1

在支持Typed Arrays的較新瀏覽器中,您可以使用responseType請求參數set to "arraybuffer"發出XHR請求。該響應將是一個ArrayBuffer對象,您可以將其傳遞給Int32Array構造函數。

+0

有趣。如果Web服務器能夠處理請求,我會進一步調查。這是一個小型的基於PIC的服務器。 – Mark

1

這兩個字節(各8位)轉換爲整數

function Two8bitBytestoOneInteger(byteHighBits,byteLowBits){ 
    return (byteHighBits.charCodeAt(0) << 8) | (byteLowBits.charCodeAt(0) & 0xFF) ; 
} 

提示: 如果您嘗試打印字節(即console.log(byteHighBits)),你得到一個錯誤NaN(非數字),所以看到字節整數值做到這一點( console.log(byteHighBits.charCodeAt(0) )

希望這有助於!