2009-09-11 18 views
6

Me estoy haciendo esto:Como llegar ' x01' a 1

_format_ = "7c7sc" 
print struct.unpack(self._format_, data) 

da

('\x7f', 'E', 'L', 'F', '\x01', '\x01', '\x01', '\x00\x00\x00\x00\x00\x00\x00', '\x00') 

quiero tomar '\x01' y obtener 1 de ella, es decir, convertir a `` int . ¿Algunas ideas? Gracias

Respuesta

20

ord("\x01") volverá 1.

+0

¿Cómo manejaría un entero de 2 bytes, como '' 'b '\ x00 \ x80''''? – luckydonald

+0

Se me ocurrió '' 'int (" 0x "+ '' .join ([hex (x) [2:] para x en byte_string]), base = 16)' '' pero eso no puede ser el mejor camino... – luckydonald

3

Tal vez usted está pensando en la función ord?

>>> ord("\x01") 
1 
>>> ord("\x02") 
2 
>>> ord("\x7f") 
127 
Cuestiones relacionadas