Целое число со значениями ASCII в строку - PullRequest
1 голос
/ 03 января 2012

У меня есть целое число, содержащее четыре кода ASCII для четырех символов:

0x31323334

Мне нужно преобразовать это целое число в строку:

"1234" ~ "\x31\x32\x33\x34"

Есть ли лучшее решение, чем это?

mystring = '%0*x' % (8, 0x31323334) # "31323334"
mystring.decode('hex') # "1234"

Ответы [ 2 ]

1 голос
/ 03 января 2012

Не думаю, что вам станет проще, чем строка формата и затем декодирование (требуется Python 2.6 +):

>>> "{0:08x}".format(0x31323334).decode('hex')
'1234'
1 голос
/ 03 января 2012

Не уверен, что лучше, но:)

>>> import struct
>>> struct.pack('>L', 0x31323334)
'1234'
...