gpt4 book ai didi

java - 在 Java 中切片字节数组

转载 作者:IT老高 更新时间:2023-10-28 20:24:26 24 4
gpt4 key购买 nike

我正在尝试对字节数组进行切片以修剪数组的第一部分。我正在使用 ByteBuffer,但它的行为不像我预期的那样。

byte[] myArray = new byte[10];
ByteBuffer buf = ByteBuffer.wrap(myArray);
buf.position(5);
ByteBuffer slicedBuf = buf.slice();
byte[] newArray = slicedBuf.array();

我希望 newArray 的大小为 5,只包含我的 ByteBuffer 的最后一部分。而是返回完整的字节数组。我知道这是因为“后备缓冲区”一直都是一样的。

如何切片以仅包含数组的所需部分?

编辑:添加上下文

字节是从网络接收的。缓冲区是这样形成的:

[ SHA1 hash ] [ data...很多]

我已经有一个以字节数组为参数并计算 SHA1 哈希的函数。我想要的是对整个缓冲区进行切片,只传递没有预期哈希的数据。

最佳答案

您可以使用 Arrays.copyOfRange方法。例如:

// slice from index 5 to index 9
byte[] slice = Arrays.copyOfRange(myArray, 5, 10);

关于java - 在 Java 中切片字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18367539/

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