像FAST这样的用于编码数据的协议(protocol)在最小化需要发送的数据量方面非常聪明。本质上来说,一个字符是一个char *,将前几个字节读为整数会给您一个ID号,该ID号会指向有关如何解码其余字节的指令(例如,它告诉您其余字节是,例如,尊重一个int,一个字符串,一个无符号的int,另一个无符号的int,一个嵌套的消息等。)以及接下来的几个字节(每位)告诉您后续字段是否存在。每个字节中的第8位被保留以表示数据之间的边界。
如果不对位操作(和,或,移位,位检查)进行线性遍历,似乎无法对这种协议(protocol)进行解码...有没有办法更快地做到这一点?
最佳答案
我认为您找不到比上述描述更快的技术或方法。此类协议(protocol)旨在按顺序解析它们。继续搜索的唯一原因是找到一种更方便的数据处理方式。
据我所知,有三种方法: