Форум сайта python.su
Я читаю данные из бинарного файла со спецефичным форматом. Скажем дата события там, забито в двух байтах в таком виде: 0x03 0x06 (сегоднешняя дата), а продолжительность интересуемого меня события, также в двух байтах но, так что 0x00 0x44, соответствует 68 секундам, а 0x0A 0x1B 2587 секунд (т.е. переводиться, как есть)! Другие значения, нужно брать из старшего и младшего полубайтов.
Решение LL=struct.unpack('24с', f.read(24)) несколько коряво, но через конструкцию hex(ord(LL)) приемлемо. Но, как перевести правильно время?????????????????
Офлайн
Не совсем понимаю что надо. Время…
format(0x0A1B) или int(0x0A1B)
format(2587,“#X”) онo же hex(2587)
Отредактировано (Март 6, 2009 17:31:18)
Офлайн
Нужно чтобы int('0x0A1B') срабатывало так же, как и int('121')
Офлайн
Другими словами, чтобы строку ‘0A1B’ можно было бы перевести в число типа jnt.
Не понимает мой Питон 25 функции format!
Офлайн
int(“0a1b”,16)
Офлайн
Да, спасибо, работает)))))
вот еще что нашел eval('0x0A1B')
Офлайн
eval нужно использовать только когда это действительно необходимо, вариант предложенный Griffon лучше
Офлайн