2013-02-08 119 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