gpt4 book ai didi

c - 在C中将数据转换为7位而不是1字节

转载 作者:行者123 更新时间:2023-11-30 19:26:46 25 4
gpt4 key购买 nike

我在主节点和从节点之间进行通信,其中消息如下所示:

[2 字节 header 开始][最多 11 字节有效负载][1 字节 crc][2 字节 header 结束]

当有效负载中以相同顺序包含 2 个 header 结束字节时,现在可能会出现问题。 crc 将防止错误,但该命令永远不会通过。因此,我需要以某种方式从有效负载中排除 header 分隔符,至少是两个结束分隔符,但我不知道如何以有效的方式实际实现这一点。我的第一个想法是使用 7 位而不是 8 位,但随后我无法构建 uint32_t、uint64_t。

有什么想法可以解决这个问题吗?

最佳答案

您可以通过以下方法处理有效负载中出现的结束位

在有效负载之前的 header 中,添加有效负载长度字段(如果尚不存在),以便忽略在其之前遇到的结束位。或者,如果 header 不再有空间容纳长度字段,您可以确保有效负载的长度始终为 11 字节(按照 @Scheff 建议使用虚拟零)。

关于c - 在C中将数据转换为7位而不是1字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56612380/

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