Я пытаюсь упаковать некоторые неподписанные данные int в строковый буфер, созданный с помощью ctypes.create_string_buffer
.
Вот следующий сегмент кода и пример, показывающий ошибку в кодедексе:
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. В этом случае, пытаясь упаковать неподписанные данные int в строковый буфер с базовым типом c_char. Кто-нибудь знает о решении для этого или существует конкретный способ создания буфера, который может упаковывать данные любого типа?