Я пытаюсь упаковать некоторые данные типа unsigned int в строковый буфер, созданный с помощью ctypes.create_string_buffer
. . 12168] Вот следующий сегмент кода, и рабочий пример, показывающий ошибку на кодовой панели :
import struct
import ctypes
import binascii
buf = ctypes.create_string_buffer(16)
struct.pack_into("=I=I=I", buf, 0, 1, 2, 3)
print binascii.hexlify(buf)
Это приводит к следующей ошибке:
...
struct.error: bad char in struct format
В документации не упоминается, можно ли упаковывать данные разных типов, если базовый буфер имеет конкретный тип C. В этом случае попытка упаковать данные unsigned int в строковый буфер с базовым типом c_char. Кто-нибудь знает решение для этого, или есть особый способ создать буфер, который может упаковывать данные любого типа?