Python: Как упаковать различные типы данных в строковый буфер с помощью struct.pack_into

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

10
задан snap 11 May 2011 в 08:34
поделиться