Javascript UINT16阵列到UINT8阵列
我有一个基本问题。假设我有一个UINT16阵列,其中有数字4Javascript UINT16阵列到UINT8阵列,javascript,arraybuffer,uint16,Javascript,Arraybuffer,Uint16,我有一个基本问题。假设我有一个UINT16阵列,其中有数字4 data_16=new Uint16Array([4]); 现在我有一个长度1和一个长度2 如何将其转换为Uint8Array 我不想创建新视图 data_8 = new Uint8Array(data_16) 如果我这样做,我得到数组长度1和字节长度1。这不是我想要的 我需要将16位数组中的16位值扩展为8位值,这样8位数组就可以得到8位数组中的2个值 我可以创建一个函数,它可以转换为shif和所有这些东西。但是它只能通过数
data_16=new Uint16Array([4]);
现在我有一个长度1和一个长度2
如何将其转换为Uint8Array
我不想创建新视图
data_8 = new Uint8Array(data_16)
如果我这样做,我得到数组长度1和字节长度1。这不是我想要的
我需要将16位数组中的16位值扩展为8位值,这样8位数组就可以得到8位数组中的2个值
我可以创建一个函数,它可以转换为shif和所有这些东西。但是它只能通过数组操作来完成吗?您可以使用buffer属性,即
data\u 8=new Uint8Array(data\u 16.buffer,data\u 16.byteOffset,data\u 16.bytellength)
我建议新建Uint8Array(data\u 16.buffer,data\u 16.byteOffset,data\u 16.bytellength)
,因为在一般情况下,不能保证data\u 16
查看其所有备份ArrayBuffer
。