Javascript 动态地将字节数组转换为整数数组
我从Web服务器接收到一个由N个整数组成的大字节数组(有符号16位,小尾端),我想用javascript构建一个整数数组 当然,我可以迭代传入的数组,并将每两个字节推入。这样做没有问题Javascript 动态地将字节数组转换为整数数组,javascript,arrays,Javascript,Arrays,我从Web服务器接收到一个由N个整数组成的大字节数组(有符号16位,小尾端),我想用javascript构建一个整数数组 当然,我可以迭代传入的数组,并将每两个字节推入。这样做没有问题 我想知道是否有更方便的方法来填充数组。例如,在C中,我可以设置一个指向第一个字节的整数指针,然后访问所有其他字节。或者,我可以将缓冲区malloc和memcpy分配到保留空间。在这两种情况下,我不必迭代源数组。在支持类型化数组的较新浏览器中,可以使用responseType请求参数发出XHR请求。然后,响应将是一
我想知道是否有更方便的方法来填充数组。例如,在C中,我可以设置一个指向第一个字节的整数指针,然后访问所有其他字节。或者,我可以将缓冲区malloc和memcpy分配到保留空间。在这两种情况下,我不必迭代源数组。在支持类型化数组的较新浏览器中,可以使用
responseType
请求参数发出XHR请求。然后,响应将是一个ArrayBuffer
对象,您可以将其传递给构造函数。这将把两个字节(每个字节8位)转换成一个整数
function Two8bitBytestoOneInteger(byteHighBits,byteLowBits){
return ( byteHighBits.charCodeAt(0) << 8 ) | ( byteLowBits.charCodeAt(0) & 0xFF ) ;
}
函数Two8bitBytestoOneInteger(字节高位、字节低位){
return(byteHighBits.charCodeAt(0)在JavaScript中肯定是以数字数组的形式表示的吗?当您console.log()时,传入的数组到底是什么样子的
it?无论如何,你都需要迭代数组,没有方便的方法。这必须在旧浏览器上运行吗?如果不行,你可以使用类型化数组。@Cerburs:在控制台中,我看到ascii符号。很有趣。我将进一步调查Web服务器是否能够处理该请求。这是一个基于PIC的小型服务器。