Làm cách nào để chuyển đổi chuỗi hex thành int đã ký bằng Python 3.2?Chuỗi ký tự hex để ký int trong Python 3.2?
Điều tốt nhất tôi có thể đưa ra được
h = '9DA92DAB'
b = bytes(h, 'utf-8')
ba = binascii.a2b_hex(b)
print(int.from_bytes(ba, byteorder='big', signed=True))
Có cách nào đơn giản hơn? Unsigned trở nên dễ dàng hơn nhiều: int (h, 16)
BTW, nguồn gốc của vấn đề là itunes persistent id - music library xml version and iTunes hex version
Hai dòng b = và ba = có thể được thay thế bằng ba = bytes.fromhex (h). Xem bình luận của Lennart dưới đây. – foosion