4

このような文字列をintに変換したい:s = 'A0 00 00 00 63'。それを行うための最も簡単で最良の方法は何ですか?

たとえば、(2 * 16 ^ 3 + 1 * 16 ^ 0 = 8193)に'20 01'なります。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 に答える