开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 471|回复: 13
收起左侧

[已解决] protobuf反序列化

 关闭 [复制链接]
结帖率:97% (74/76)
发表于 2024-3-29 13:34:47 | 显示全部楼层 |阅读模式   安徽省合肥市
14精币
十六进制数据是这样的:
08011A9F030A940208B9ED9D021206E68A98E99C991A7468747470733A2F2F7265736F7572636563702D63646E2E676F6E677A6963702E636F6D2F75706C6F6164732F32303231313132362F306331303838316466653235393562383962356438633162393237616335643636652E6A70673F782D6F73732D70726F636573733D7374796C652F6865616430023801524BE68891E698AFE4B880E58FAAE58FAFE788B1E79A84E99D92E88AB1E9B1BCEFBC8CE4BD86E698AFE68891E5BE88E68792EFBC8CE68891E6B2A1E69C89E79599E4B88BE7ADBEE5908DEFBD9E6A3C68747470733A2F2F7265736F7572636563702D63646E2E676F6E677A6963702E636F6D2F2F7374617469632F696D616765732F62672D6D722E706E6778021098F398B0061A20323231663333303466643161613632633761633731313337613466356165643420A08199B0062A20333137343131353033373764363438663536666364646232393262623530663630988DB7B1063A200A0F0856120B3133343730303732313230120D73756E3536394071712E636F6D420E0D0000004010D0012A04322E30303000
反序列化后的结果是:
QQ图片20240329133418.png
对着这个弄了一个proto文件,使用protoc进行编译 然后在代码中进行fanxuliehu但是好像不能正常反序列化。有没有懂哥,看看proto文件哪里不对。
syntax = "proto3";

message PersonBalance {
    fixed32 field1 = 1;
    int32 starfish = 2;
    string jade = 3;
}


message PersonAccountInfo {
    int32 field1 = 1;
    string phoneNumber = 2;
}

message PersonAccount {
    PersonAccountInfo info = 1;
    string userAccount = 2;
}


message PersonInfo {
    int32 field1 = 1;
    string nickname = 2;
    string portrait = 3;
    int32 field6 = 6;
    int32 field7 = 7;
    string signature = 10;
    string background = 13;
    int32 field15 = 15;

}

message LoginBody {
    PersonInfo info = 1;
    int32 field2 = 2;
    string field3 = 3;
    int32 field4 = 4;
    string field5 = 5;
    int32 field6 = 6;
    PersonAccount account = 7;
    PersonBalance balance = 8;
}

message LoginPackage {
    int32 field1 = 1;
    LoginBody field2 = 3;
    int32 field3 = 6;
}




补充内容 (2024-3-29 13:46):
string jade = 5;    //已修改此处为正确值,但是还是不能正常反序列化

最佳答案

查看完整内容

PersonBalance错了 string 是 5

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
发表于 2024-3-29 13:34:48 | 显示全部楼层   广西壮族自治区贵港市
PersonBalance错了
string 是 5
回复

使用道具 举报

发表于 2024-3-29 13:43:01 | 显示全部楼层   广西壮族自治区贵港市
74C4651D-C3F9-41e8-BF16-211EC997BC2F.png
回复

使用道具 举报

结帖率:97% (74/76)

签到天数: 2 天

 楼主| 发表于 2024-3-29 13:45:31 | 显示全部楼层   安徽省合肥市
amill 发表于 2024-3-29 13:40
PersonBalance错了
string 是 5

改了以后,反序列化还是不行。
回复

使用道具 举报

结帖率:97% (74/76)

签到天数: 2 天

 楼主| 发表于 2024-3-29 13:47:23 | 显示全部楼层   安徽省合肥市

这是哪个在线工具
回复

使用道具 举报

结帖率:98% (96/98)

签到天数: 27 天

发表于 2024-3-29 14:44:26 | 显示全部楼层   河南省郑州市
VX截图_20240329144411.png
[JavaScript] 纯文本查看 复制代码
syntax = "proto3";

message User {
    int32 userId = 1;
    string userName = 2;
    string avatarUrl = 3;
    int32 userType = 6;
    int32 status = 7;
    string description = 10;
    string backgroundImageUrl = 13;
    int32 userLevel = 15;
}

message LoginData {
    int32 field1 = 1;
    User user = 3;
    int32 field3 = 6;
}

message ContactInfo {
    int32 phone = 1;
    string email = 2;
}

message FinancialData {
    int32 field1 = 1;
    int32 field2 = 2;
    string field5 = 5;
}

message YourMessage {
    int32 field1 = 1;
    LoginData loginData = 3;
    int32 field6 = 6;
}
回复

使用道具 举报

结帖率:97% (74/76)

签到天数: 2 天

 楼主| 发表于 2024-3-29 14:51:03 | 显示全部楼层   安徽省合肥市
小明无敌 发表于 2024-3-29 14:44
[mw_shl_code=javascript,true]syntax = "proto3";

message User {

QQ图片20240329144909.png
yourmessage.zip (6.92 KB, 下载次数: 1)
回复

使用道具 举报

结帖率:92% (12/13)

签到天数: 12 天

发表于 2024-3-29 16:53:54 | 显示全部楼层   河南省郑州市
手搓了一个  貌似没问题
屏幕截图 2024-03-29 165259.png
回复

使用道具 举报

结帖率:92% (12/13)

签到天数: 12 天

发表于 2024-3-29 16:56:28 | 显示全部楼层   河南省郑州市
手搓的,看起来没啥问题
[JavaScript] 纯文本查看 复制代码
syntax = "proto3";
package Yourmessage;
message YourMessages {
        optional int32 tag1 = 1 ;
        optional buff3 tag3 = 3 ;
        optional buff6 tag6 = 6 ;
}
message  buff3{
        optional Userinfo tag1 =1;
        optional int64 tag2 =2;
        optional string tag3 =3;
        optional int64 tag4 =4;
        optional string tag5 =5;
        optional int64 tag6 =6;
        optional buff7 tag7 =7;
        optional string tag8 =8;

}
message  Userinfo{
        optional int32 tag1 =1;
        optional string tag2 =2;
        optional string tag3 =3;
        optional int32 tag6 =6;
        optional int32 tag7 =7;
        optional string tag10 =10;
        optional string tag13 =13;
        optional int32 tag15 =15;

}
message  buff7{
        optional buff7a tag1 =1;
        optional string tag2 =2;
}
message  buff7a{
        optional int32 tag1 =1;
        optional int32 tag2 =2;
}
message  buff6{
//null
}
屏幕截图 2024-03-29 165527.png
回复

使用道具 举报

签到天数: 7 天

发表于 2024-3-29 17:01:25 | 显示全部楼层   广东省茂名市
好复杂呀!看不懂,很利害的样子!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表