【发布时间】:2020-08-02 08:29:55
【问题描述】:
我尝试了很多方法来解码由 {"foo":"bar"} 之类的对象组成的 arrayBuffer
这是数组缓冲区:
ArrayBuffer {
[Uint8Contents]: <5b 6f 62 6a 65 63 74 20 4f 62 6a 65 63 74 5d>,
byteLength: 15
}
使用最简单的方法TextDecoder 它只返回[object Object] 所以也许问题出在编码器上?我没有想法......我在这里使用这个客户端的发送方法来发送数据:https://www.npmjs.com/package/websocket
那么,如何解码arrayBuffer?谢谢
【问题讨论】:
-
JSON.stringify 在您将其发送到客户端之前。你的解码没问题。它没有在服务器端正确序列化。 Object.toString() 给你那个字符串。
-
我现在正在做 JSON.stringify,虽然我不知道如何处理对象,但你说除了作为字符串做之外没有什么比“原生”更重要的了?我对二进制/缓冲区期望过高? ://
-
哦。如果您正在寻找它,您需要找到一个二进制序列化程序。但是,除非您正在处理非常严重的负载或需要优化的特殊需求,否则我会避免这样做的痛苦。数据必须在某个时候序列化,然后在另一端反序列化。对于您的普通 API,您需要二进制序列化是非常值得怀疑的
-
嗯,我不能接受你的回答,因为它是一个评论......那你能回答吗?这是有道理的,它通过给出指示帮助了我。谢谢!
-
好的,作为答案发布:)
标签: node.js websocket arraybuffer