Возможно, есть лучшее решение, но вы можете сделать это:
x = 281473900746245
decoded_x = hex(x)[2:].decode('hex') # value: '\xff\xff\xbf\xde\x16\x05'
Разбивка:
hex(x) # value: '0xffffbfde1605'
hex(x)[2:] # value: 'ffffbfde1605'
hex(x)[2:].decode('hex') # value: '\xff\xff\xbf\xde\x16\x05'
Обновление:
Согласно @multipleinstances и комментариям @ Sven, поскольку вы можете иметь дело с длинными значениями, вам, возможно, придется немного подправить вывод hex:
format(x, 'x') # value: 'ffffbfde1605'
Иногда, однако, вывод hex может бытьнечетной длины, что нарушает декодирование, поэтому, вероятно, было бы лучше создать функцию для этого:
def convert(int_value):
encoded = format(int_value, 'x')
length = len(encoded)
encoded = encoded.zfill(length+length%2)
return encoded.decode('hex')