我正在从二进制文件中读取字节,如此
import java.io.FileInputStream
val fis = new FileInputStream(fileName)
val byteArray = new Array[Byte](4)
fis.read(byteArray)
如何将byteArray中的字节转换为unsigned int?
答案 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位天,则可能),那么需要更多涉及的内容。