如何将长度为4字节的数组转换为unsigned int?

时间:2017-12-25 06:07:59

标签: scala

我正在从二进制文件中读取字节,如此

import java.io.FileInputStream

val fis = new FileInputStream(fileName)

val byteArray = new Array[Byte](4)

fis.read(byteArray)

如何将byteArray中的字节转换为unsigned int?

1 个答案:

答案 0 :(得分:1)

def bytesToInt(bytes: Array[Byte], littleEndian: Boolean): Int = {
  val buffer = java.nio.ByteBuffer.wrap(bytes)
  if (littleEndian) buffer.order(java.nio.ByteOrder.LITTLE_ENDIAN).getInt
  else buffer.getInt
}

字节是小端还是大端是一个关于它们是如何编写的问题。如果字节在一些更奇怪的顺序中(不太可能,但如果协议可以追溯到16位天,则可能),那么需要更多涉及的内容。