首页 > 解决方案 > 访问字节数组中的前两个字节

问题描述

我有一个 ByteArray 类型的变量:

val byteArray: ByteArray?

我目前正在访问它的第一个字节,索引如下:byteArray[0]。我希望能够得到这个字节数组的前两个字节。我应该获取字节 0 和 1 然后追加,还是可以以某种方式执行 byteArray[0:1]?我对 Java 和 Kotlin 非常陌生,任何指导都值得赞赏。

我需要能够获得前两个字节,这样我才能获得 0 到 16 位并将其转换为整数。我用它来将字节转换为二进制字符串:

  `String.format("%8s", Integer.toBinaryString(inByte & 0xFF)).replace(' ', '0');`

标签: javakotlin

解决方案


如果您想要前两个字节的整数,只需使用 a ByteBuffer

// x is of type Short
val x = ByteBuffer.wrap(byteArray).short

这只会以大端顺序读取数组的前两个字节(您可以使用 更改它order),或者如果数组中的字节少于 2 个则抛出异常。


推荐阅读