我需要通过相对较慢(低至1Kb/s)的连接传输一些数据.我已经读过Googles协议缓冲区的编码是有效的.这对于我的大部分数据都是正确的,但不适用于布尔值,特别是如果它是重复的字段.问题是我必须每50毫秒传输一个指定数量(15)的布尔值,除了其他数据.Protobuf将每个布尔值编码为一个字节用于字段ID,一个字节用于布尔值(0x00或0x01),这导致30个字节的数据用于15个布尔值.
所以我现在正在寻找一种更好的编码方法.有人还有这个问题吗?在这种情况下达到有效编码的最佳做法是什么?
我的想法是使用编号数据类型(uint32)并手动编码数据,每个bool一位整数.关于这个想法的任何反馈?