我有一个包含某个文件的二进制数据的Uint8Array实例。
我希望将数据发送到服务器,在那里它将被反序列化为byte[]。
但是如果我发送Uint8Array,我就会出现反序列化错误。
所以,我想把它转换成Array,因为Array已经被很好地反序列化了。
我这样做:
function uint8ArrayToArray(uint8Array) {
var array = [];
for (var i = 0; i < uint8Array.byteLength; i++) {
array[i] = uint8Array[i];
}
return array;
}此函数运行良好,但对于大文件来说效率不是很高。
数组问题:有没有更有效的方法来转换Uint8Array --> ?
发布于 2015-04-16 21:56:55
您可以在已经支持Array.from (ES6)的环境中使用以下内容
var array = Array.from(uint8Array)当不支持时,您可以使用
var array = [].slice.call(uint8Array)发布于 2015-04-16 22:15:13
有一种使用原型的Uint8Array方法(但只有火狐和Chrome支持):
TypedArray.prototype.entries() -->它返回一个数组。
查看:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
https://stackoverflow.com/questions/29676635
复制相似问题