[pyar] WTF struct.unpack y problemas con encoding????

Manuel Naranjo naranjo.manuel en gmail.com
Dom Oct 3 14:55:18 ART 2010


  Buenas,

Gente estoy portando código que hice para PyS60 y escritorio a Android, 
y estoy teniendo un problema, yo estoy recibiendo datos de forma binaria 
por el stream de un socket RFcomm (Bluetooth), esto anda joya en gran 
parte de las implementaciones de Bluetooth para Python que he usado. 
Pero hay un pequeño problema en el android.

La cosa es que en Android no tengo un socket, sino un proxy a una 
conexión que se controla por json-rpc, y no acceso en modo binario al 
socket.

Mi código es el siguiente.

def recv(self, size=4096):
     result = self.droid.bluetoothRead(size)
     if result:
       ret = result.result
       l = len(ret)
       A = struct.unpack_from('%iB'%l, ret)
       print A
       out = struct.pack('%iB' % l, *A)
       print B
       return B
     raise Exception("recv failed: %s" % result)

Cuando tengo datos binarios la linea "A = struct.unpack_from('%iB'%l, 
ret)" falla diciendo que no puede decodificar de ascii porque tiene un 
valor no válido (0xff 0xD8), la cosa es... No se supone que struct fue 
creado para esto???? Alguna pista? No me gustaría tener q' portar mi 
aplicación a Java!.

Manu



More information about the pyar mailing list