用python解析protobuf数据,却遇到了tag had invalid wire type错误?
现在要用python去解析server端发过来的protobuf包,安装好protobuf之后,proto文件我也写好了,和server端是应该是一样的,因为是从team的gitlab上拿下来的。然后建立socket,拿数据,recv
之后我直接w+
到一个文件里。然后rb
这个文件,用protobuf自带的函数,ParseFromString()
去解析,就报tag had invalid wire type
错误,一头雾水,查了一整天,网上也没有很好的解决办法,就是解析不出来,总是报这个错。。。
会不会是二进制文件大小端存储的问题?猜测,实在想不出什么原因,另外一个同事用java去解析,就解析出来了.....
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你试着不存文件,直接ParseFromString看看能不能解析成功。会不会是传输的过程中二进制数据发生了变化,但是java解析成功了,比较奇怪。可让server也写入文件,然后和你的写入的文件比较一下大小。看看是不是一样。
此异常google了一下,参考https://groups.google.com/for...
查看是否配置半包解析