我有Uint8Array实例包含某些文件的二进制数据.
我想将数据发送到服务器,在那里它将被反序列化为byte [].
但是,如果我发送Uint8Array,我有反序列化错误.
所以,我想将它转换为Array,因为Array很好地反序列化了.
我按如下方式做到:
function uint8ArrayToArray(uint8Array) {
var array = [];
for (var i = 0; i < uint8Array.byteLength; i++) {
array[i] = uint8Array[i];
}
return array;
}
Run Code Online (Sandbox Code Playgroud)
此功能工作正常,但对大文件效率不高.
问题:是否有更有效的方法来转换Uint8Array - > Array?
基于crypto.subtle.exportKey("spki", cryptoKey)我想将返回的值转换ArrayBuffer为字符串,以便我可以将其转换为 base64 字符串。根据我尝试过的文档
const bufferAsString = String.fromCharCode.apply(null, new Uint8Array(buffer));
Run Code Online (Sandbox Code Playgroud)
但 TypeScript 告诉我
TS2345:“Uint8Array”类型的参数不可分配给“number[]”类型的参数。
如何修复类型错误?