Найти - Пользователи
Полная версия: Как перевести строку символов в число hex формата
Начало » Python для новичков » Как перевести строку символов в число hex формата
1
Aviz
Я читаю данные из бинарного файла со спецефичным форматом. Скажем дата события там, забито в двух байтах в таком виде: 0x03 0x06 (сегоднешняя дата), а продолжительность интересуемого меня события, также в двух байтах но, так что 0x00 0x44, соответствует 68 секундам, а 0x0A 0x1B 2587 секунд (т.е. переводиться, как есть)! Другие значения, нужно брать из старшего и младшего полубайтов.
Решение LL=struct.unpack('24с', f.read(24)) несколько коряво, но через конструкцию hex(ord(LL)) приемлемо. Но, как перевести правильно время?????????????????
Griffon
Не совсем понимаю что надо. Время…
format(0x0A1B) или int(0x0A1B)
format(2587,“#X”) онo же hex(2587)
Aviz
Нужно чтобы int('0x0A1B') срабатывало так же, как и int('121')
Aviz
Другими словами, чтобы строку ‘0A1B’ можно было бы перевести в число типа jnt.
Не понимает мой Питон 25 функции format!
Griffon
int(“0a1b”,16)
Aviz
Да, спасибо, работает)))))
вот еще что нашел eval('0x0A1B')
Cleric
eval нужно использовать только когда это действительно необходимо, вариант предложенный Griffon лучше
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB