Как напечатать hex в Python без преобразования в int? - PullRequest
0 голосов
/ 08 июня 2019

У меня есть шестнадцатеричный массив, и всякий раз, когда я пытаюсь его распечатать, он печатает его значение типа int

мой код

adds = [0x8048453,
0x8048459,
0x804845b,
0x804845d,
0x8048462,
0x8048465,
0x8048466,
0x8048470,
0x8048476,
0x804847c]

for line in adds:
    print line

output:

134513747
134513753
134513755
134513757
134513762
134513765
134513766
134513776

Я знаю, что могу преобразовать его с помощью hex (), но моя цель - упаковать его, используя struct, и когда я его упаковываю

print struct.pack("I",hex(line))

, я получаю это сообщение об ошибке

struct.error: cannot convert argument to integer

Есть идеи, как решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 08 июня 2019

Я нашел решение,

print struct.pack("I",int(hex(line),16))

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 08 июня 2019

Создайте строки элементов, перейдите из 2-го элемента (и его) и просто конвертируйте в обычном порядке. Если вам нужна дополнительная информация о преобразовании гекса в декабрь, я рекомендую Это видео конвертации и отрабатывать это задом наперед.

...