[python-users] Binärdaten in Python einlesen

Jonas Stein news at jonasstein.de
So Jun 7 19:11:06 CEST 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hallo allerseits,

ich möchte Dateien mit 10 - 500 MB Binärdaten in Python einlesen und
auswerten.

Die Daten haben eine Baumartige Struktur:

Headerdaten   (unbekannte Länge)
Headerseparator (Bitmuster '0x00005555AAAAFFFF')
Datenheader   (40 Byte)
Datenblock 1a (6 Byte)
Datenblock 1b (6 Byte)
Datenblock 1c (6 Byte)
Datenblockende 1 (Bitmuster '0x0000FFFF5555AAAA')
Datenheader   (40 Byte)
Datenblock 2a (6 Byte)
Datenblock 2b (6 Byte)
Datenblockende 2 (Bitmuster '0x0000FFFF5555AAAA')
Datenheader   (40 Byte)
Datenblock n  (6 Byte)
Datenblockende n (Bitmuster '0x0000FFFF5555AAAA')
Dateiende (Bitmuster '0xFFFFAAAA55550000')

Die Datenblöcke haben eine fixe Länge, aber ich weiß vorher nie
wieviele kommen.

Welcher Weg eigenet sich unter Python besonders dazu?
Alleine zum Einlesen von Binärdaten wurde ich erschlagen von
unzähligen fertigen und halbfertigen Lösungen und habe den Überblick
verloren.

Macht es Sinn, die Positionen aller Bitmuster ausfindig machen und mit
numpy und dtype einzulesen, oder gibt es etwas eleganteres?

Beste Grüße,

- -- 
Jonas Stein
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0

iQJ8BAEBCgBmBQJVdHsqXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRGNjUyQjE1OTc3MDlBNkIyRTA5ODQxRTAz
NTZDMDc1NjA4NTJFNkRCAAoJEDVsB1YIUubbwCMQAKlx236SWlmEw/TGR4xStmP1
JQQuJfbChs2LSp+GI9ybJWFLlaPHXTCEExoOOWWJynQp+zk0Tc9PDFOKVn+Skghh
wEzZIzJxW4vryYCClhvOTFv90Q6U0jsYVrt0B5Ujo/+n1SbTiquZu5plMmCmmtSn
LOZ6ND6YpXsXKH7qaTN1Qmn16VpkFdYkxpY8t9eUi6XtHhp9l4exYy/g68KrEIF4
GFvt8MBuh7sai4fLQMIZWTXjH+DUnxufeZf5CjVChS+kUXlr4f5Zbqg1rAcUYmNU
E3XDRjWce2tdtJ7VvvsGQCbDjurMKy8ajpuRzW69Q6RFYOBSEX3zPJ6ltwLiK0Hb
V2lbA+cYcifs9lqFf3DLuIQK5W7zOC/uM4m4GOcv2r2/AQPBu5ilEWUD9LSjmbGp
pKfw0nTP4KiAaTBhijFxlRWoVq1pzMlukK3E6fS3IQgDAgxitJz5HYsxgF7rbKwY
ccqdAsttGMXCvW4oBpwLMFACo/6aCArkB/sYPawzWuplTwB395mSUWnRioDe3rfv
y+9QjlOUu3xP9CxyARDrzCS4FAKbSK0eL5tteyBWGxKHNoGeLls0WqtTyLaxajNg
3aR8UXFkuGAAz7bHywSicIlTfJUR3LmJ4Qb2jAzR+xtXthnMIsySkn4P+3mS/fw/
4ZZLDp4+7NrLxsA/KwKW
=2/vz
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste python-users