Я предлагаю делать так. Есть пакет. Принятый по каналу. У него
-- тип пакета
-- длина
-- время GPS первого байта
-- время GPS последнего байта - чтобы точно выяснять соотношения пакетов во времени.
-- CRC записи.
Делаем постой формат кадра, который все это описывает.
Навигация - переставил указатель на + LEN.
И если у нас бинарное хранилище >= 8 бит, в котором байты не теряются, то можно так и писать.
Но в жизни так не бывает, нужно кодирование, чтобы гарантированно выявить начало пакета, если начать читать с любого места.
Самое универсальное кодирование описано здесь. Описано достаточно для понимания, но не совсем просто описано.
http://caxapa.ru/978208/
Чуть похуже
http://caxapa.ru/976411
Вообще в том топике полно идей по кодированию.