Python перевод hexadecimal str в hexadecimal int
Функция hex возвращает тип данных строку, а нужно число. Использую библиотеку ctypes, требуется преобразовывать символы юникода в ushort
type(hex(ord('h'))) # -> str
type(0x68) # -> int
Как я могу получить hex-число в типе int?
Ответы (1 шт):
Автор решения: Michael Tetelev
→ Ссылка
Если я правильно понял, то вы хотите перевести 0x123в 291. Если так, то
>>> int('0x123', 16)
# 291
>>> int('0x123'[2:], 16) # => int('123', 16)
# 291
Также, ord -> int:
>>> ord('h')
104
Если же вы хотите просто работать с '0x123' как с int (складывать-умножать-вычитать), то приведите его к int10 (или не переводите в hex :) ), а в, собственно, hex переводите только когда нужно куда-то передать значение в виде 16-числа.