下载地址
到 release
仓库 选择最新的包下载(我不管,我就要最新的)
安装
cd protobuf-3.17.3
cp -r include/ /usr/local/include/
cp -r bin/ /usr/local/bin/
搞定,如此丝滑~
使用
UserPB.info
syntax = "proto3";
option java_outer_classname = "UserPB";
option java_package = "com.jiuling.resource.proto";
message info{
string addr = 1; //地址
string group = 2; //分组
}
ProtoBufTest
public static void main(String[] args) {
UserPB.info info = UserPB.info.newBuilder().setAddr("测试").setGroup("group1").build();
System.out.println(info);
byte[] data = info.toByteArray();
try {
UserPB.info p2 = UserPB.info.parseFrom(data);
System.out.println(p2);
} catch (InvalidProtocolBufferException e) {
e.printStackTrace();
}
}
输出结果:
处理中文异常
public static void main(String[] args) {
UserPB.info info = UserPB.info.newBuilder().setAddr("测试").setGroup("group1").build();
System.out.println(TextFormat.printer().escapingNonAscii(false).printToString(info));
System.out.println(info.getAddr());
// System.out.println(info);
byte[] data = info.toByteArray();
try {
UserPB.info p2 = UserPB.info.parseFrom(data);
System.out.println(TextFormat.printer().escapingNonAscii(false).printToString(p2));
System.out.println(p2.getAddr());
} catch (InvalidProtocolBufferException e) {
e.printStackTrace();
}
}
搞定
主要是记录一些,很基础,但是你就是要去搜,就很烦的基操~