如何从对象解码arrayBuffer
How to decode arrayBuffer from object
我尝试了很多方法来解码由像 {"foo":"bar"}
这样的对象组成的 arrayBuffer
这是数组缓冲区:
ArrayBuffer {
[Uint8Contents]: <5b 6f 62 6a 65 63 74 20 4f 62 6a 65 63 74 5d>,
byteLength: 15
}
使用最简单的方法 TextDecoder
它只是 return [object Object]
所以问题可能出在编码器上?我没有ideias ...我在这里使用此客户端的发送方法发送数据:https://www.npmjs.com/package/websocket
那么,如何解码arrayBuffer呢?谢谢
JSON.stringify 在发送给客户端之前。你的解码没问题。它没有在服务器端正确序列化。 Object.toString() 给你那个字符串。
如果你想以二进制形式发送对象,你需要找到一个二进制序列化器,如果这正是你要找的。但是,除非您正在处理非常严重的负载或需要优化的特殊需求,否则我会避免这样做的痛苦。数据必须在某一点被序列化,然后在另一端反序列化。对于您的平均值 API,您非常怀疑是否需要二进制序列化
有一些众所周知的二进制序列化选项,如 FlatBuffers、BSON、Thrift、protobuf、Avro、MsgPack 等。我会在 Google 上搜索二进制序列化以找到最新选项。您还需要添加搜索关键字并检查它们是否绑定了您感兴趣的语言。
我尝试了很多方法来解码由像 {"foo":"bar"}
这样的对象组成的 arrayBuffer
这是数组缓冲区:
ArrayBuffer {
[Uint8Contents]: <5b 6f 62 6a 65 63 74 20 4f 62 6a 65 63 74 5d>,
byteLength: 15
}
使用最简单的方法 TextDecoder
它只是 return [object Object]
所以问题可能出在编码器上?我没有ideias ...我在这里使用此客户端的发送方法发送数据:https://www.npmjs.com/package/websocket
那么,如何解码arrayBuffer呢?谢谢
JSON.stringify 在发送给客户端之前。你的解码没问题。它没有在服务器端正确序列化。 Object.toString() 给你那个字符串。
如果你想以二进制形式发送对象,你需要找到一个二进制序列化器,如果这正是你要找的。但是,除非您正在处理非常严重的负载或需要优化的特殊需求,否则我会避免这样做的痛苦。数据必须在某一点被序列化,然后在另一端反序列化。对于您的平均值 API,您非常怀疑是否需要二进制序列化
有一些众所周知的二进制序列化选项,如 FlatBuffers、BSON、Thrift、protobuf、Avro、MsgPack 等。我会在 Google 上搜索二进制序列化以找到最新选项。您还需要添加搜索关键字并检查它们是否绑定了您感兴趣的语言。