4

我想将这样的字符串转换为 int: s = 'A0 00 00 00 63'。最简单/最好的方法是什么?

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

4

2 回答 2

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'
于 2013-02-08T20:34:20.303 回答
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
于 2013-02-08T20:39:16.013 回答