Javascript 在Nashorn中将字节[]转换为ArrayBuffer
如何在Nashorn中将字节数组转换为Javascript 在Nashorn中将字节[]转换为ArrayBuffer,javascript,java,nashorn,Javascript,Java,Nashorn,如何在Nashorn中将字节数组转换为ArrayBuffer?我试图将二进制数据插入纯JavaScript环境(即,它无法访问Java.from或Java.to),因此希望创建一个字节数组的实例 看来我走错了方向。将其转换为Uint8Array更有意义,因为我发送的是一个字节数组 我创建了以下函数: function byteToUint8Array(byteArray) { var uint8Array = new Uint8Array(byteArray.length); f
ArrayBuffer
?我试图将二进制数据插入纯JavaScript环境(即,它无法访问Java.from
或Java.to
),因此希望创建一个字节数组的实例 看来我走错了方向。将其转换为Uint8Array
更有意义,因为我发送的是一个字节数组
我创建了以下函数:
function byteToUint8Array(byteArray) {
var uint8Array = new Uint8Array(byteArray.length);
for(var i = 0; i < uint8Array.length; i++) {
uint8Array[i] = byteArray[i];
}
return uint8Array;
}
函数byteToUint8Array(byteArray){
var uint8Array=新的uint8Array(byteArray.length);
对于(变量i=0;i
这将把字节数组(因此
byteArray
实际上是byte[]
类型)转换成Uint8Array
我认为您使用Uint8Array
是正确的,但这段代码可能更可取:
function byteToUint8Array(byteArray) {
var uint8Array = new Uint8Array(byteArray.length);
uint8Array.set(Java.from(byteArray));
return uint8Array;
}
另外,如果你真的需要
ArrayBuffer
你可以使用uint8Array.buffer
我不能使用Java.from
很遗憾,因为我在纳什伯恩的纯JavaScript环境中。但是你的答案仍然很有用。Java未定义,但uint8Array.buffer对我帮助很大,谢谢!