Estoy tratando de empacar algunos datos int sin firmar en un búfer de cadenas creado usando ctypes.create_string_buffer
.Python: Cómo empacar diferentes tipos de datos en un búfer de cadenas usando struct.pack_into
Aquí es el siguiente segmento de código, y un ejemplo de funcionamiento que muestra el error on 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)
Esto produce el siguiente error:
...
struct.error: bad char in struct format
La documentación no se refiere a si se puede empacar datos de diferentes tipos si el buffer subyacente es de un tipo C específico. En este caso, tratando de empacar datos int sin firmar en un búfer de cadena con un tipo subyacente de c_char. ¿Alguien sabe de una solución para hacer esto, o hay una manera específica de crear un búfer que puede empacar cualquier tipo de datos?
Gracias. De alguna manera me perdí esa pieza crítica de lectura en el módulo docco :). – snap