Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ruby在二进制协议中查找帧并将每个帧存储在数组中_Ruby - Fatal编程技术网

使用ruby在二进制协议中查找帧并将每个帧存储在数组中

使用ruby在二进制协议中查找帧并将每个帧存储在数组中,ruby,Ruby,我有一个二进制文件,里面有多个帧。每一帧从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 XX 可以安全地假设FF只出现在帧头中,而不是作为随机数据的一部分 我正在寻找一种方法来解析这个二进制文件,并使用ruby将每个帧提取到一个数组中 有人能帮忙吗?对于Ruby 1

我有一个二进制文件,里面有多个帧。每一帧从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 XX

可以安全地假设FF只出现在帧头中,而不是作为随机数据的一部分

我正在寻找一种方法来解析这个二进制文件,并使用ruby将每个帧提取到一个数组中


有人能帮忙吗?

对于Ruby 1.8,您可以在“\xFF\xFF\xFF”上拆分输入字符串。第一个条目将在第一帧之前,使用这种格式,您无法知道最后一帧是否完整。但是,它们非常简单,可以删除:

input.split("\xFF\xFF\xFF")[1..-2]