Использование ruby ​​для поиска кадров в двоичном протоколе и сохранения каждого кадра в массиве - PullRequest
0 голосов
/ 04 августа 2010

У меня есть двоичный файл, внутри которого есть несколько кадров.Каждый кадр начинается с FF FF FF, за которым следуют случайные данные различной длины.Например:

FF FF FF XX XX XX XX ......... FF FF FF XX XX XX XX XX XX ......... FF FF FF XX XX XX.... FF FF FF XX XX XX XX XX XX XX XX ........

Можно с уверенностью предположить, что FF FF FF будет появляться только в заголовке кадра, а не как частьслучайные данные.

Я ищу способ синтаксического анализа этого двоичного файла и извлечения каждого кадра в массив с помощью ruby.

Кто-нибудь может помочь?

1 Ответ

2 голосов
/ 04 августа 2010

Для Ruby 1.8 вы можете просто разбить входную строку на "\ xFF \ xFF \ xFF". Первая запись будет перед первым кадром, и с таким форматом вы не можете знать, завершен последний кадр или нет. Их достаточно просто удалить, хотя:

input.split("\xFF\xFF\xFF")[1..-2]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...