用python解析protobuf数据,却遇到了tag had invalid wire type错误?

发布于 2022-09-07 07:43:48 字数 380 浏览 13 评论 0

现在要用python去解析server端发过来的protobuf包,安装好protobuf之后,proto文件我也写好了,和server端是应该是一样的,因为是从team的gitlab上拿下来的。然后建立socket,拿数据,recv之后我直接w+到一个文件里。然后rb这个文件,用protobuf自带的函数,ParseFromString()去解析,就报tag had invalid wire type错误,一头雾水,查了一整天,网上也没有很好的解决办法,就是解析不出来,总是报这个错。。。
会不会是二进制文件大小端存储的问题?猜测,实在想不出什么原因,另外一个同事用java去解析,就解析出来了.....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

沉默的熊 2022-09-14 07:43:48

你试着不存文件,直接ParseFromString看看能不能解析成功。会不会是传输的过程中二进制数据发生了变化,但是java解析成功了,比较奇怪。可让server也写入文件,然后和你的写入的文件比较一下大小。看看是不是一样。
此异常google了一下,参考https://groups.google.com/for...

踏雪无痕 2022-09-14 07:43:48

查看是否配置半包解析

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文