我想将Long类型转换为字节数组。下面的代码块可以实现,但是这是Java解决方案。我正在寻找一种Scala的好方法。如何以Scala的方式将Long类型转换为字节数组?
val arrayByteFromLong: Array[Byte] = ByteBuffer.allocate(8).putLong(myLong).array()
我想将Long类型转换为字节数组。下面的代码块可以实现,但是这是Java解决方案。我正在寻找一种Scala的好方法。如何以Scala的方式将Long类型转换为字节数组?
val arrayByteFromLong: Array[Byte] = ByteBuffer.allocate(8).putLong(myLong).array()
scala.math.BigInt
:import scala.math.BigInt
val arrayByteFromLong: Array[Byte] = BigInt(myLong).toByteArray
arrayByteFromLong.reverse.padTo(8,0).reverse
BigInt(arrayByteFromLong).toLong
返回非常简单。 - TechmagBigInt(-4227595774L).toByteArray
=> Array(-1, 4, 4, 2, 2)
ByteBuffer.allocate(8).putLong(-4227595774L).array()
=> Array[Byte] = Array(-1, -1, -1, -1, 4, 4, 2, 2)
- maizy