У меня есть представление памяти 32-битных беззнаковых целых, которые я хотел бы распаковать в некоторые символы, целые и строки (или массивы символов при необходимости).
cdef const unsigned int[:] bin_file = np.fromfile(rom_fd, dtype='<u4')
Первые 192 байта этого двоичного файла используются в качестве заголовка, который содержит метаданные об остальной части файла.
Я хочу распаковать эти байты из памяти (или памяти: bin_file[:48]
)
Легко получить int из памяти:
cdef unsigned int first_int = bin_file[0]
Однако я не уверен, что лучший способ получить другие типы данных, особенно те, которые охватывают несколько записей в просмотре памяти.
Я бы хотел использовать что-то похожее на
cdef char[12] my_string = bin_file[40:43]
но это просто выдает ошибку, говорящую «Невозможно назначить тип« const unsigned int [:] »для« char [12] »».