1

我已经尝试过这种short2byte 和 byte2short转换,效果很好但很耗时。

我正在将字节转换为短,如下所示

ByteBuffer.wrap(bData).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer().get(sData);

以同样的方式,我想将短转换回字节。

我已经搜索并查看了许多示例,但没有得到我想要的。

4

1 回答 1

0

我想我有办法了。

使用 ByteBuffer 将字节转换为短字节

byte[] bData= {};
short[] sData= new short[bData.length/2];
// to turn bytes to shorts as either big endian or little endian. 
ByteBuffer.wrap(bData).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer().get(sData);

使用 ByteBuffer 将短字节转换为字节

// to turn shorts back to bytes.
byte[] bData= new byte[sData.length * 2];
ByteBuffer.wrap(bData).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer().put(sData);
于 2012-11-26T10:37:21.010 回答