首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Javascript中将Uint8Array转换为数组

在Javascript中将Uint8Array转换为数组
EN

Stack Overflow用户
提问于 2015-04-16 21:44:13
回答 2查看 37.2K关注 0票数 39

我有一个包含某个文件的二进制数据的Uint8Array实例。

我希望将数据发送到服务器,在那里它将被反序列化为byte[]。

但是如果我发送Uint8Array,我就会出现反序列化错误。

所以,我想把它转换成Array,因为Array已经被很好地反序列化了。

我这样做:

代码语言:javascript
复制
    function uint8ArrayToArray(uint8Array) {
        var array = [];

        for (var i = 0; i < uint8Array.byteLength; i++) {
            array[i] = uint8Array[i];
        }

        return array;
    }

此函数运行良好,但对于大文件来说效率不是很高。

数组问题:有没有更有效的方法来转换Uint8Array -->

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-16 21:56:55

您可以在已经支持Array.from (ES6)的环境中使用以下内容

代码语言:javascript
复制
var array = Array.from(uint8Array)

当不支持时,您可以使用

代码语言:javascript
复制
var array = [].slice.call(uint8Array)
票数 77
EN

Stack Overflow用户

发布于 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

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29676635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档