我有一个C状结构是这样的:如何开始读取二进制数据的偏移量?
SomeStruct << BinData::Record
endian :little
uint32 :offsetOfName
uint32 :offsetOfLastname
#...
uint32 :lenVars
struct :Person, :length => :lenVars
string :name
string :lname
#...
end
我有一堆的偏移和长度的:Person
之前。所有的偏移和长度都描述了:Person
结构中的数据。
如何开始读取指定偏移量,给定长度或直到下一个偏移量的数据?
我一直希望用BinData解决方案,但无论如何感谢。我会出去玩一下代码,会让你知道结果。 – omninonsense 2011-06-12 20:23:06
我已经添加了一个小的更新。 – DigitalRoss 2011-06-13 01:21:59
@DigitalRoss你为什么把它读成字符串呢? 打开'some-binary-file','r'do | f | f.seek 1234 o = aBinData_object.read f end 这不够吗? – thegreendroid 2012-02-26 20:38:32