javascript - 当 Array 被放入 ArrayBuffer 时,如何获取 dataType?

标签 javascript node.js type-conversion arraybuffer

我有一个数组:

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/

相关文章:

javascript - 如何在 Node 中使用 Imagemagick 调整图像大小并降低 DPI

node.js - 在 dynamodb Local 中查询全局二级索引

c - 将字符串数组转换为 C 中的字符串

javascript - Google Cloud Platform - 使用多行记录

javascript - 在 jQuery 中创建 "polite"滚动捕捉

javascript - 在 Ajax 加载后使 jQuery UI 工具提示重新定位

javascript - 无法读取未定义的属性 '__reactAutoBindPairs' - React.js

python - 将列从 float 转换为 int 时收到 KeyError

c++ - 使用Visual Studio在C++中将负常量转换为无符号类型错误如何解决

javascript - 具有多个条件的 jQuery Slick Slider 过滤