2012-12-17 83 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) )

希望这有助于!