2012-02-09 3 views
0

У меня есть этот код:
Hexline - строка в шестнадцатеричном (080a00000135627c43784 ... и т.д.)Получить часть шестнадцатеричной строки

Date = Hexline[:16] 
Prio = Hexline[16:2] 
Date = "0x"+Date 
DecDate = long(Date, 16) 
print 'date = %s' % DecDate 
print 'prio = %s' % int(Prio, 16) 
  1. я получаю первые 16 символов и преобразовать его в BigInt
  2. I необходимо получить следующие два символа после «Дата» из «Hexline» и преобразовать его в десятичный.

Но на шаге 2 я получил недопустимый литерал для int() с базовой ошибкой 16 '' '. (Prio = '')
Что случилось?

ответ

4

Prio всегда будет пустой строкой. Вероятно, вы имеете в виду

Prio = Hexline[16:18] 

Число после двоеточия - это индекс остановки подстроки, а не ее длина.

+0

Ой! Спасибо! –

Смежные вопросы