2013-02-08 117 views
4

我想一个字符串转换像这样为一个int:s = 'A0 00 00 00 63'。什么是最简单/最好的方式来做到这一点?字符串字节为一个int

例如'20 01'应该变为8193(2 * 16^3 + 1 * 16^0 = 8193)。

回答

12

使用int()与任一str.split()

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()被转换成'20 01''2001'

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 
相关问题