que tienen una estructura similar a C como esto:¿Cómo empiezo a leer en un desplazamiento en datos binarios?
SomeStruct << BinData::Record
endian :little
uint32 :offsetOfName
uint32 :offsetOfLastname
#...
uint32 :lenVars
struct :Person, :length => :lenVars
string :name
string :lname
#...
end
Tengo un montón de compensaciones y longitudes antes :Person
. Todos los desplazamientos y longitudes describen los datos dentro de la estructura :Person
.
¿Cómo puedo comenzar a leer datos en un desplazamiento especificado, para la longitud dada, o hasta el próximo desplazamiento?
Esperaba una solución con BinData, pero gracias de todos modos. Saldré y jugaré un poco con el código, te contaré los resultados. – omninonsense
He agregado una actualización menor. – DigitalRoss
@DigitalRoss ¿Por qué lo estás leyendo en una cadena? abrir 'some-binary-file', 'r' do | f | f.seek 1234 o = aBinData_object.read f end ¿No sería eso suficiente? – thegreendroid