2013-02-08 6 views
4

다음과 같은 문자열을 int : s = 'A0 00 00 00 63'으로 변환하고 싶습니다. 가장 쉬운 방법은 무엇입니까?int에 들어있는 바이트의 문자열

예를 들어 '20 01'8193 (2 * 16^3 + 1 * 16^0 = 8193)이되어야합니다.

답변

12

사용하거나 str.split()int() :

In [31]: s='20 01' 

In [32]: int("".join(s.split()),16) 
Out[32]: 8193 

또는 str.replace() 및 16로 기재 건네

In [34]: int(s.replace(" ",""),16) 
Out[34]: 8193 
여기

모두 split()replace()'2001''20 01' 변환된다

In [35]: '20 01'.replace(" ","") 
Out[35]: '2001' 

In [36]: "".join('20 01'.split()) 
Out[36]: '2001' 
,
0
>>> s = 'A0 00 00 00 63' 
>>> s = s.replace(" ","") 
>>> print s 
A000000063 
>>> for i in xrange(0,len(s),4): 
     print int(s[i:i+3],16) 

2560 
0 
99 
관련 문제