转换为整数数组我有一个由N个整数组成的大字节数组(有符号16位,小尾数),我想用javascript构建一个整数数组。从网络服务器上将
当然,我可以迭代传入的数组并推送每个字节。这样做没有问题。
我想知道是否有更方便的方法来填充数组。例如,在C中,我可以将一个整数指针设置为第一个字节,然后访问所有其他字节。或者,我可以将malloc和memcpy缓冲区保存到一个保留空间。在这两种情况下,我不必迭代源数组。
转换为整数数组我有一个由N个整数组成的大字节数组(有符号16位,小尾数),我想用javascript构建一个整数数组。从网络服务器上将
当然,我可以迭代传入的数组并推送每个字节。这样做没有问题。
我想知道是否有更方便的方法来填充数组。例如,在C中,我可以将一个整数指针设置为第一个字节,然后访问所有其他字节。或者,我可以将malloc和memcpy缓冲区保存到一个保留空间。在这两种情况下,我不必迭代源数组。
在支持Typed Arrays的较新浏览器中,您可以使用responseType
请求参数set to "arraybuffer"
发出XHR请求。该响应将是一个ArrayBuffer
对象,您可以将其传递给Int32Array
构造函数。
有趣。如果Web服务器能够处理请求,我会进一步调查。这是一个小型的基于PIC的服务器。 – Mark
这两个字节(各8位)转换为整数
function Two8bitBytestoOneInteger(byteHighBits,byteLowBits){
return (byteHighBits.charCodeAt(0) << 8) | (byteLowBits.charCodeAt(0) & 0xFF) ;
}
提示: 如果您尝试打印字节(即console.log(byteHighBits)
),你得到一个错误NaN
(非数字),所以看到字节整数值做到这一点( console.log(byteHighBits.charCodeAt(0) )
希望这有助于!
当然,在JavaScript中,它表达为一个数字数组? – Lloyd
当你使用'console.log()'时,传入数组的样子是什么? – Cerbrus
无论如何你都需要遍历数组,不方便。 – dencey