2009-09-11 17 views
6

Tôi nhận được điều này:Làm thế nào để có được ' x01' tới 1

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

cho

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

Tôi muốn đi '\x01' và nhận được 1 từ nó, ví dụ, chuyển đổi cho ` 'int . Bất kỳ ý tưởng? Cảm ơn

Trả lời

20

ord("\x01") sẽ trở lại 1.

+0

Làm cách nào để xử lý số nguyên 2 byte, như '' 'b '\ x00 \ x80''''? – luckydonald

+0

Tôi đưa ra '' 'int (" 0x "+ '' .join ([hex (x) [2:] cho x trong byte_string]), base = 16)' '' nhưng không thể là tốt nhất đường... – luckydonald

3

Có lẽ bạn đang nghĩ đến những ord chức năng?

>>> ord("\x01") 
1 
>>> ord("\x02") 
2 
>>> ord("\x7f") 
127 
Các vấn đề liên quan