获取十六进制字符串的一部分
我有这段代码:
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)
- 我先取前16个字符,然后把它转换成大整数(BigInt)。
- 接下来,我需要从“Hexline”中找到“Date”后面的两个字符,并把它转换成十进制。
但是在第二步时,我遇到了“invalid literal for int() with base 16 ''”的错误。(Prio = '')
这是什么问题呢?
1 个回答
5
Prio
最后会变成一个空字符串。你可能想说的是
Prio = Hexline[16:18]
冒号后面的数字是子字符串的结束位置,而不是它的长度。