使用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在二进制协议中查找帧并将每个帧存储在数组中,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
有人能帮忙吗?对于Ruby 1.8,您可以在“\xFF\xFF\xFF”上拆分输入字符串。第一个条目将在第一帧之前,使用这种格式,您无法知道最后一帧是否完整。但是,它们非常简单,可以删除:
input.split("\xFF\xFF\xFF")[1..-2]