1

Webサーバーから、N個の整数(符号付き16ビット、リトルエンディアン)で構成される大きなバイト配列を受け取り、JavaScriptで整数の配列を作成したいと思います。

もちろん、着信配列を繰り返し処理して、数バイトごとにプッシュすることもできます。これを行うのに問題はありません。

配列を埋めるもっと便利な方法があるかどうか疑問に思います。たとえば、Cでは、最初のバイトに整数ポインターを設定してから、他のすべてのバイトにアクセスできます。または、バッファ領域を予約済みスペースにmallocおよびmemcpyすることもできます。どちらの場合も、ソース配列を繰り返す必要はありません。

4

2 に答える 2

1

responseType型付き配列をサポートする新しいブラウザーでは、 requestパラメーターをに設定し"arraybuffer"てXHR要求を行うことができます。応答はオブジェクトになり、コンストラクターArrayBufferに渡すことができます。Int32Array

于 2012-12-17T10:24:20.950 に答える
1

これにより、2バイト(各8ビット)が整数に変換されます

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

ヒント: バイトを出力しようとすると(つまり、数値ではなく)console.log(byteHighBits)エラーが発生するNaNため、バイト整数値を確認するにはこれを実行します( console.log(byteHighBits.charCodeAt(0) )

お役に立てれば!

于 2013-02-08T00:38:19.363 に答える