gpt4 book ai didi

java - 有没有办法从 byte[] 转换为 long[]

转载 作者:太空狗 更新时间:2023-10-29 13:59:35 30 4
gpt4 key购买 nike

我正在开发一个安卓应用程序。我在库中使用了一个静态函数,它将 byte[] 作为参数。

我曾经传递一个包含 36 个字节的硬代码字节数组:

new byte[]{-13, 35, -92, -79, 47, -51, -57, 39, ......};

但在最新的版本中,他们更改了函数以取而代之的是 long[]。所以我不能再传递我的字节数组。

如何从我保存的 byte[] 转换为 long[] 以便仍然使用与以前相同的值的此函数?

是否有从 byte[]long[] 的转换?据我所知,'byte[]' 可以转换为 long 但不能转换为 long 数组。

非常感谢对此的任何帮助

最佳答案

我想您需要将 4 个字节转换为 1 个字节。因此,最简单的解决方案是使用 ByteBuffers。

long[] byteToLong(byte[] array) {
ByteBuffer byteBuffer = ByteBuffer.wrap(array);
LongBuffer longBuffer = byteBuffer.asLongBuffer();
long[] result = new long[longBuffer.capacity()];
longBuffer.get(result);
return result;
}

注意:这会产生 BigEndian 值 - 不确定您的 API 需要什么。

关于java - 有没有办法从 byte[] 转换为 long[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36897582/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com