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 …