什么是将 BigDecimal/BigInteger 序列化为 ProtocolBuffers 的最佳方法?

12 浏览
0 Comments

什么是将 BigDecimal/BigInteger 序列化为 ProtocolBuffers 的最佳方法?

我开始将一个自定义的序列化机制迁移到 Protocol Buffers。一个将会经常使用的数据类型是 BigDecimal

有没有人知道在 Protocol Buffers 中如何很好地序列化这个数据类型?我们目前的序列化程序使用 BigDecimal.toPlainString() 进行序列化,使用 new BigDecimal(String) 进行反序列化 - 我猜想可能有更好的方法。

我的猜测是将 BigDecimal 定义为:

message BDecimal {

required int32 scale = 1;

required BInteger int_val = 2;

}

但是我不太确定如何定义 BigInteger - 或许可以使用它的 toByteArray() 方法?

0