gpt4 book ai didi

c++ - 解码像 FAST 这样的数据协议(protocol)的快速方法是什么?在 FAST 中,数据以字节编码,位作为存在标志?

转载 作者:太空宇宙 更新时间:2023-11-04 02:13:14 26 4
gpt4 key购买 nike

像 FAST 这样的数据编码协议(protocol)非常巧妙地减少了需要发送的数据量。本质上,一个人得到一个 char*,读取前几个字节作为整数会给你一个 ID 号,它指向你如何解码其余字节的说明(即它告诉你其余的字节是,例如,respecivley 一个 int,一个字符串,一个无符号整数,另一个无符号整数,一个嵌套消息等。)和接下来的几个字节告诉你(在每一位中)后续字段是否存在。每个字节中的第8位保留用于表示数据之间的边界。

如果没有线性遍历位操作(ands、ors、shifts、bit checks),解码这样的协议(protocol)似乎是不可能的……有没有办法更快地做到这一点?

最佳答案

我认为您找不到比刚才描述的更快的技术或方法。此类协议(protocol)旨在按顺序解析它们。继续搜索的唯一原因是找到一种更方便的方法来处理数据。

据我所知,有以下三种方式:

  • 按照下面的描述去做
  • 使用底层框架,例如 Boost::Spirit它有一个 binary parsers .
  • 尝试使用现成的库:例如QuickFAST -- native C++ 和 .NET 的 FAST 协议(protocol)的实现。

关于c++ - 解码像 FAST 这样的数据协议(protocol)的快速方法是什么?在 FAST 中,数据以字节编码,位作为存在标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10958417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com