微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

protobufjs无法解码协议编码的消息

如何解决protobufjs无法解码协议编码的消息

所以我们有一个使用protoc编码的消息:

proto.msg是包含消息的文件

REQUEST="service.Request"
RESPONSE="service.Response"
PROTOFILE="./protocol/Index.proto"

PROTO=$(cat proto.msg | protoc --encode $REQUEST $PROTOFILE)
echo $(xxd -pu <<< "$PROTO")

会导致以下十六进制值(例如):0a0761616161616166161120361736418010a

如果我在protobufjs中编码相同的proto.msg,我将获得完全不同的十六进制控制位: 120a0761616161616161120361736418017a00

尝试对protobufjs中的protoc消息进行解码通常会导致各种错误

invalid wire type X at offset Y
# with the above protoc message X = 6,Y = 11

尝试在protobufjs中解码protobufjs消息可以正常工作。

任何想法我可能做错了什么?这两个库是否不兼容?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。