我需要能够用Ruby解析二进制文件。此文件包含通过标头找到的数据块,该标头包含文件偏移量和每个块的长度。
如何正确获取数据?到目前为止,我一直无法根据我读出的偏移来寻找文件,因为它们出现在字符串中,我不知道如何转换为IO#seek理解的格式。
有任何帮助吗?将偏移量和长度转换为可用的东西(如整数或其他东西)的一般方法会很有用。
答案 0 :(得分:6)
你想要String#unpack。
答案 1 :(得分:2)
您还可以查看BitStruct,它提供了一个很好的高级接口来解析二进制数据。
答案 2 :(得分:2)
查看BinData gem及其列出的替代品: