收藏
回答

用new Uint8Array(myArray).buffer转换uint8字节数组的坑!?

let myArray = [......]; //请自行初始化

如果用

return new Uint8Array(myArray ).buffer;

返回的数据在部分ios机型上是错误的. 例如:明明myArray数组长度为37,但转化后的unit8字节数组长度却是8192.

导致在部分ios机型上,莫名的错误.

修改为以下代码,结果正常:

let u8array = new Uint8Array(myArray .length);

u8array.set(myArray .subarray(0,myArray .length),0);

return u8array.buffer; //一切OK

回答关注问题邀请回答
收藏
登录 后发表内容