我已经尝试过这种short2byte 和 byte2short转换,效果很好但很耗时。
我正在将字节转换为短,如下所示
ByteBuffer.wrap(bData).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer().get(sData);
以同样的方式,我想将短转换回字节。
我已经搜索并查看了许多示例,但没有得到我想要的。
我已经尝试过这种short2byte 和 byte2short转换,效果很好但很耗时。
我正在将字节转换为短,如下所示
ByteBuffer.wrap(bData).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer().get(sData);
以同样的方式,我想将短转换回字节。
我已经搜索并查看了许多示例,但没有得到我想要的。
我想我有办法了。
使用 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);