将 shortarray 转换为 bytearray 和 bytearray 到 shortarray

Posted

技术标签:

【中文标题】将 shortarray 转换为 bytearray 和 bytearray 到 shortarray【英文标题】:Conversion shortarray to bytearray & bytearray to shortarray 【发布时间】:2012-11-26 07:57:30 【问题描述】:

我试过this short2byte and byte2short conversion, works fine but time consuming.

我正在将 byte 转换为 short 如下所示

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

以同样的方式,我想将 short 转换回 byte。

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

【问题讨论】:

我认为您无法比这更快地获得转换。 这种转换只查看每个短片一次,并对其进行非常有效的按位运算。 @Cruncher 你对使用 ByteBuffer 有什么看法??我认为这需要更少的时间 【参考方案1】:

我想我明白了。

使用 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);

【讨论】:

以上是关于将 shortarray 转换为 bytearray 和 bytearray 到 shortarray的主要内容,如果未能解决你的问题,请参考以下文章

这些 JavaScript 函数在 AS3 ByteArray 中的等效调用是啥?

内存操作流

android -- 存储byte

文件上传

Java 的 String[] 的 Kotlin 等价物是啥?

struts项目向前台返回图片。