6
一致的开销字节填充(COBS)
令我惊讶的是,这还没有发布! 在一致的开销字节填充(COBS)算法用于分隔字节流。 我们选择一个帧标记(我们将使用0x00),并且在流中出现0x00的任何地方都将其替换为字节数,直到下一个出现0x00为止(我们将其称为里程碑)。这将值的范围从0..255减小到1..255,从而使0x00可以明确地界定流中的帧。 在一个里程碑,如果下一个255B不包含0x00,则超出最大里程碑长度-算法必须“停顿”在255B并放置另一个里程碑。这是“一致的开销”。 第一个字节将是第一个里程碑,最后一个里程碑将是直到帧标记的字节数。 维基百科的一些示例(最好阅读彩色文章): 0x00 as frame marker Unencoded data (hex) Encoded with COBS (hex) 00 01 01 00 00 00 01 01 01 00 11 22 00 33 03 11 22 02 33 00 11 22 33 44 05 11 22 33 44 00 11 00 00 …