如何从对象解码arrayBuffer
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从对象解码arrayBuffer相关的知识,希望对你有一定的参考价值。
我已经尝试了很多事情来解码由{"foo":"bar"}
之类的对象组成的arrayBuffer这是arrayBuffer:
ArrayBuffer {
[Uint8Contents]: <5b 6f 62 6a 65 63 74 20 4f 62 6a 65 63 74 5d>,
byteLength: 15
}
使用最简单的方法作为TextDecoder
,它只是返回[object Object]
,所以问题可能出在编码器上吗?我没有想法...我正在使用此客户端的send方法发送数据:https://www.npmjs.com/package/websocket
所以,如何解码arrayBuffer?谢谢
答案
JSON.stringify,然后再将其发送到客户端。您的解码很好。它在服务器端未正确序列化。 Object.toString()给您该字符串。
如果要以二进制形式发送对象,则需要查找二进制序列化器。但是,除非您要处理的是非常严重的负载或需要优化的特殊需求,否则我将避免这样做的麻烦。数据必须在某个时候进行序列化,然后在另一端进行反序列化。对于普通的API,是否需要二进制序列化是非常可疑的]
以上是关于如何从对象解码arrayBuffer的主要内容,如果未能解决你的问题,请参考以下文章
在单元测试中模拟 UserDefaults 对象返回 _ArrayBuffer
如何将带有 ArrayBuffer 的 JSON 对象发送到 websocket?
将 JS 对象转换为 ArrayBuffer 以向/从 Web Worker 传输等于瓶颈