Python: Comment emballer les différents types de données dans une mémoire tampon de chaîne à l'aide struct.pack_into

Je suis en train d'emballer des unsigned int données dans une mémoire tampon de chaîne créée à l'aide de ctypes.create_string_buffer.

Ici est le segment de code suivant, et l'exécution d'un exemple montrant l'erreur sur codepad:

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)

Cela donne l'erreur suivante:

...
struct.error: bad char in struct format

La documentation n'est pas une allusion à savoir si vous pouvez emballer les données de types différents si le sous-jacent de la mémoire tampon est spécifique de type C. Dans ce cas, en essayant de pack unsigned int données dans une mémoire tampon de chaîne avec un sous-jacent c_char type. Quelqu'un connais une solution pour ce faire, ou est-il une façon particulière de créer une mémoire tampon qui peut emballer n'importe quel type de données?

InformationsquelleAutor snap | 2011-05-11