Python - как преобразовать int в строку, представляющую 32-битное шестнадцатеричное число - PullRequest
14 голосов
/ 31 августа 2011

Я хочу получить решение Python для этой проблемы:

например.

integer 1 -> string "0x00000001"
integer 64 -> string "0x00000040"
integer 3652458 -> string "0x0037BB6A"

Размер строки не изменится, если число будет в range(0, 2**32).

1 Ответ

25 голосов
/ 31 августа 2011

Попробуйте это:

'0x%08X' % 3652458

или (с Python 2.6 и новее)

'0x{0:08X}'.format(3652458)

оба возвращаются:

'0x0037BB6A'
...