Я хочу преобразовать строку, подобную этой, в int: s = 'A0 00 00 00 63'
. Какой самый простой/лучший способ сделать это?Строка байтов в int
Например, '20 01'
должно быть 8193
(2 * 16^3 + 1 * 16^0 = 8193).
Я хочу преобразовать строку, подобную этой, в int: s = 'A0 00 00 00 63'
. Какой самый простой/лучший способ сделать это?Строка байтов в int
Например, '20 01'
должно быть 8193
(2 * 16^3 + 1 * 16^0 = 8193).
Используйте 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'
>>> 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