[英]Convert Uint8Array to Array in Javascript
我有包含某個文件的二進制數據的 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 --> Array?
您可以在已經支持Array.from
(ES6) 的環境中使用以下內容
var array = Array.from(uint8Array)
如果不支持,您可以使用
var array = [].slice.call(uint8Array)
有一個使用原型的 Uint8Array 方法(但只支持 Firefox 和 Chrome):
TypedArray.prototype.entries() --> 它返回一個數組。
檢查一下: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.