Protocol buffers Protobuf C#消息到JAVA的翻译
我正在尝试将使用C#生成的消息翻译成JAVA。作为第一步,我生成了proto文件,这就是我得到的Protocol buffers Protobuf C#消息到JAVA的翻译,protocol-buffers,protobuf-net,Protocol Buffers,Protobuf Net,我正在尝试将使用C#生成的消息翻译成JAVA。作为第一步,我生成了proto文件,这就是我得到的 package Om.Business.Scanner; message ScannerActivityDetail { optional string ActivityId = 1; optional string ContextId = 2; optional int32 ActivityStart = 3; optional bcl.DateTime Activity
package Om.Business.Scanner;
message ScannerActivityDetail {
optional string ActivityId = 1;
optional string ContextId = 2;
optional int32 ActivityStart = 3;
optional bcl.DateTime ActivityEnd = 4;
}
如何在java世界中解释bcl.DateTime
我正在使用protobuf net并尝试对C#app生成的消息进行反序列化
提前感谢你的帮助 看看,这应该很简单。以明显的方式创建地图
,然后:
public static Date toDate(bcl.DateTime proto) {
TimeUnit unit = SCALE_TO_UNIT_MAP.get(proto.getScale());
if (unit == null) {
throw new IllegalArgumentException("Invalid scale: " + proto.getScale());
}
long millis = unit.toMillis(proto.getValue());
return new Date(millis);
}
您可以以完全相同的方式使用的
DateTime
类型,因为它的构造函数也接受long
。(您可能需要考虑指定哪个时区…如果您使用跨平台,我建议将日期/时间简单地处理为一个历元的某个时间间隔(传统上是1970年1月1日)