我有一个数组:
var dataArray = new Uint16Array(256);
然后我的数组通过nodeJs到达另一台电脑。 (nodejs binaryType = "arraybuffer")
我如何知道在另一个客户端上我必须转换为 Uint16Array 而不是 Uint8Array?
注意:位深度和数组长度是动态值,可以在程序运行时更改。
谢谢:)
最佳答案
当将数据作为ArrayBuffer
传输时,它只是二进制缓冲区数据,您需要知道要使用什么 View 来访问数据。 TypedArrays
只是二进制 ArrayBuffer
上的 View 。
有几种方法可以解决这个问题:
- 使用不同的途径提交数据
- 向数据添加前缀字节
- 并且可能是最好的解决方案,不要在应用程序中更改数据类型。 恕我直言,一个干净的界面应该只处理一种类型的数据。
关于javascript - 当 Array 被放入 ArrayBuffer 时,如何获取 dataType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26006281/