Я начинаю переносить собственный механизм сериализации в буферы протоколов. Один тип данных, который будет использоваться особенно регулярно, - BigDecimal.
Кто-нибудь знает о хорошем способе сериализации этого в буферах протокола? Наша текущая процедура сериализации использует BigDecimal.toPlainString() для сериализации и новую BigDecimal (String) для десериализации - я предполагаю, что лучший способ.
Мое предположение - определить BigDecimal как:
message BDecimal {
required int32 scale = 1;
required BInteger int_val = 2;
}
Но я не слишком уверен, как определить BigInteger - возможно, используя его метод toByteArray()?