如何在Nashorn中将字节数组转换为ArrayBuffer
?我试图将二进制数据插入到纯JavaScript环境中(即,它无法访问Java.from
或Java.to
),因此希望创建一个字节数组的实例。
答案 0 :(得分:3)
看起来我的方式错了。将它转换为Uint8Array
更有意义,因为我在中发送的是一个字节数组。
我创建了以下功能:
function byteToUint8Array(byteArray) {
var uint8Array = new Uint8Array(byteArray.length);
for(var i = 0; i < uint8Array.length; i++) {
uint8Array[i] = byteArray[i];
}
return uint8Array;
}
这会将一个字节数组(因此byteArray
实际上是byte[]
类型)转换为Uint8Array
。
答案 1 :(得分:1)
我认为你使用Uint8Array
是正确的,但这段代码可能更合适:
function byteToUint8Array(byteArray) {
var uint8Array = new Uint8Array(byteArray.length);
uint8Array.set(Java.from(byteArray));
return uint8Array;
}
此外,如果您确实需要ArrayBuffer
,则可以使用uint8Array.buffer
。