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

Manuel Naranjo naranjo.manuel en gmail.com
Lun Oct 4 00:50:12 ART 2010


>> 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!.
>>
> ¿Estas seguro que la excepcion se dispara en la llamada a struct? El
> lugar mas probable para que se dispare el error de encoding es en:
> "print B". (o "print out"?)
>
> Proba hacer: print repr(A), print repr(B)
Si estoy seguro, es más ahora tengo
DECODE=codecs.getdecoder('cp1252')
DECODE(result[1])

Y esta última linea me salta conque ascii no pudo hacer el encode de los 
datos.

Seguí investigando y result es un namedtuple, hice pruebas en la pc y 
andan de 10, pero en el tablet ni bola. Voy a seguir investigando a ver 
si encuentro cuál es el problema


Manu



More information about the pyar mailing list