像 FAST 这样的数据编码协议非常巧妙地减少了需要发送的数据量。基本上一个得到一个 char*,将前几个字节作为整数读取会给你一个 id 号,它指向你如何解码其余字节的指令(即它告诉你其余的字节是,例如,reverseivley an int,一个字符串、一个无符号整数、另一个无符号整数、一个嵌套消息等)和接下来的几个字节(在每一位中)告诉你后续字段是否存在。每个字节中的第 8 位保留用于表示数据之间的边界。
如果没有位操作(ands、ors、移位、位检查)的线性遍历,解码这样的协议似乎是不可能的……有没有办法更快地做到这一点?