przekonwertować łańcuch binarny na tablicę numpy
Załóżmy, że mam ciąg:
my_data = '\x00\x00\x80?\x00\x00\x00@\x00\x00@@\x00\x00\x80@'
Gdzie mam to jest nieistotne, ale ze względu na posiadanie czegoś konkretnego, zakładam, że przeczytałem to z pliku binarnego.
Wiem, że mój ciąg jest binarną reprezentacją 4 (4-bajtowych) pływaków. Chciałbym uzyskać te zmienne jako tablicę numpy. jamógłby robić:
import struct
import numpy as np
tple = struct.unpack( '4f', my_data )
my_array = np.array( tple, dtype=np.float32 )
Ale wydaje się głupie, aby utworzyć pośrednią krotkę. Czy istnieje sposób na wykonanie tej operacji bez tworzenia pośredniej krotki?
EDYTOWAĆ
Chciałbym również móc skonstruować tablicę w taki sposób, że mogę określić endianność ciągu.