javascript uint8Array如何转换到java byte字节数组

现在有一个JavaScript的uint8Array,比如const arr = new uint8Array(16),8比特的16长度的数组,转换到java中byte[]该怎么转换,byte的最大值是127,而uint8Array的最大是255,求赐教

方案来自 梦想橡皮擦 狂飙组基于 GPT 编写的 “程秘”

使用Java中的byte类型,将JavaScript中的uint8Array转换为Java的byte数组

在转换时,可以把uint8Array的每个元素都转换为一个相应的Java的byte。你可以使用以下代码转换:

public byte[] uint8ArrayToByteArray(Uint8Array uint8Array) {
    byte[] byteArray = new byte[uint8Array.length];
    for (int i = 0; i < uint8Array.length; i++) {
        byteArray[i] = (byte) uint8Array[i];
    }
    return byteArray;
}

注意:Java的byte类型的取值范围是-128到127,所以在将uint8Array转换为Java的byte数组时,需要注意大于127的数字。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^