2009-07-23 47 views
8

Tôi cần có khả năng phân tích tệp nhị phân bằng Ruby. Tệp này chứa các khối dữ liệu được tìm thấy thông qua tiêu đề bao gồm độ lệch tệp và độ dài của từng đoạn.Phân tích tệp nhị phân trong Ruby

Làm cách nào để lấy dữ liệu chính xác? Tôi đã không thể cho đến nay để tìm kiếm xung quanh trong tập tin dựa trên các offsets tôi đọc ra kể từ khi họ đi ra trong chuỗi mà tôi không biết làm thế nào để chuyển đổi sang một định dạng IO # tìm hiểu hiểu.

Bất kỳ trợ giúp nào? Một cách tổng quát để chuyển đổi độ lệch và chiều dài thành một cái gì đó có thể sử dụng được (giống như một số nguyên hoặc thứ gì đó) sẽ hữu ích.

Trả lời

6

Bạn muốn String#unpack.

+0

Đó là nó. giải nén ('L *') là những gì tôi cần. –

+1

Bạn nên sử dụng một cách rõ ràng các gói nhỏ hoặc cuối lớn thay vì người bản xứ, để giữ một chút tính di động. – hhaamu

2

Bạn cũng có thể xem BitStruct cung cấp giao diện cấp cao đẹp để phân tích cú pháp dữ liệu nhị phân.

+0

Cập nhật liên kết: https://github.com/vjoel/bit-struct – odigity

Các vấn đề liên quan