Kotlin 原语:如何将 ByteArrays 重新解释为通用多平台代码中的原语位?

Kotlin Primitives: How to reinterpret ByteArrays as the bits of primitives in Common Multiplatform code?

TL;DR 对于 Kotlin Multiplatform 是否有 C++ 的 reinterpret_cast<[primitive]>(bytes) 等价物?

基本上,我正在寻找的是以下功能:

您有一个长度为 4 个字节的 ByteArray。内容是

00 00 00 2A

然后应该有一些函数或运算符将这 4 个字节重新解释为 Int:

asInt(byteArrayOf(0x00, 0x00, 0x00, 0x2A))

理想情况下,还有一种方法可以控制此操作的字节顺序。最重要的是,我希望它能在所有可用平台(JVM、JS、本机)上运行。问题是:有这样的操作吗?

目前,我正在做以下事情:

非常感谢!

您现有的整数类型解决方案可能是多平台的理想选择。对于浮点值,您可以将它们与 int/long 相互转换 Double/Float.fromBits and Double/Float.toRawBits,然后使用您现有的整数类型解决方案。