Chaîne hexadécimale à signé int en Python 3.2?

Comment puis-je convertir une chaîne hexadécimale de la signature d'un int en Python 3.2?

Du mieux que je peux venir avec est

h = '9DA92DAB'
b = bytes(h, 'utf-8')
ba = binascii.a2b_hex(b)
print(int.from_bytes(ba, byteorder='big', signed=True))

Est-il un moyen plus simple? Non signé est tellement plus facile: int(h, 16)

BTW, l'origine de la question est itunes identifiant persistant - la musique de la bibliothèque xml version et iTunes hex version

Les deux lignes b= et ba= peut être remplacé par ba=octets.fromhex(h). Voir Lennart commentaire ci-dessous.

OriginalL'auteur foosion | 2011-07-18