Получить часть шестнадцатеричной строки - PullRequest
0 голосов
/ 09 февраля 2012

У меня есть этот код:
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. Мне нужно получить следующие два символа после "Date" из "Hexline" и преобразовать их в десятичную.

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

1 Ответ

4 голосов
/ 09 февраля 2012

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

Prio = Hexline[16:18]

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...