在 Ruby 中解析二进制文件

发布于 2024-07-27 15:19:50 字数 207 浏览 3 评论 0原文

我需要能够使用 Ruby 解析二进制文件。 该文件包含通过标头找到的数据块,标头包括文件偏移量和每个块的长度。

如何正确获取数据? 到目前为止,我无法根据我读出的偏移量在文件中查找,因为它们以字符串形式出现,我不知道如何转换为 IO#seek 理解的格式。

有什么帮助吗? 将偏移量和长度转换为可用的东西(例如整数或其他东西)的通用方法会很有帮助。

I need to be able to parse a binary file with Ruby. This file contains chunks of data that are found via a header that includes the file offset and length of each chunk.

How do I get the data out correctly? I've been unable so far to seek around in the file based on the offsets I read out since they come out in strings that I don't know how to convert to a format IO#seek understands.

Any help? A general way to convert the offset and length into something usable (like an integer or something) would be helpful.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

×眷恋的温暖 2024-08-03 15:19:50

您还可以查看 BitStruct,它为解析二进制数据提供了一个很好的高级接口。

You could also take a look at BitStruct which offers a nice high-level interface for parsing binary data.

绿萝 2024-08-03 15:19:50

查看 BinData gem 及其列出的替代方案:

http://bindata.rubyforge.org/#alternatives

Check out the BinData gem, and the alternatives it lists:

http://bindata.rubyforge.org/#alternatives

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文