我想将这样的字符串转换为int:s = 'A0 00 00 00 63'
。最简单/最好的方法是什么?
例如'20 01'
应为8193
(2 * 16 ^ 3 + 1 * 16 ^ 0 = 8193)。
答案 0 :(得分: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'
答案 1 :(得分: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