在微信小程序中使用socket接收到的tlv格式数据怎么转化为JS的json数据??

如题,数据是通过小程序的websocket来接收到的,二进制数组为:

[0, 0, 0, 45, 0, 2, 0, 0, 0, 0, 1, 0, 4, 0, 0, 0, 0, 2, 0, 8, 115, 117, 99, 99, 101, 101, 100, 0, 3, 0, 4, 0, 0, 0, 0, 4, 0, 7, 49, 48, 48, 48, 48, 48, 0]

服务端说是tlv格式的数据,求问思否的大神该怎么样去解析这个数据,前端能解析出来这个数据吗?

阅读 3.3k
1 个回答

自问自答,回头抽空把具体逻辑和方法写个文章列出来。

首先根据服务端定义的固定的header的长度从返回的二进制数组中截取下来,然后根据header中定义的各个数据类型(int、short、byte、string等)来转换成JS的String和Number,然后从解析出来的数据中指定的字段与各接口的名字匹配,匹配到指定接口后根据接口定义的各个字段来依次从剩余二进制数组中根据tag、length、value顺序依次处理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题