print 'Payload: ', struct.unpack('%dB'%len(payload), payload)
print '%08x (%d bits) DATA: ' % (identifier, width), repr(payload)
这两个代码语句生成以下结果:
Payload: (125, 255, 255, 125, 255, 255, 125, 255)
18feef00 (29 bits) DATA: '}\xff\xff}\xff\xff}\xff'
我想要一个具有正确十六进制数据的最终字符串,如下所示:
7dffff7dffff7dff
答案 0 :(得分:2)
>>> tup = (125, 255, 255, 125, 255, 255, 125, 255)
>>> "".join('%02x' % i for i in tup)
'7dffff7dffff7dff'
因此,在您的情况下,您可以使用struct.unpack
构造元组,然后使用"".join()
来构造字符串。
目前还不清楚你的开头是什么,但是如果它是字符串'}\xff\xff}\xff\xff}\xff'
那么这就没有了元组:
>>> s = '}\xff\xff}\xff\xff}\xff'
>>> "".join('%02x' % ord(c) for c in s)
'7dffff7dffff7dff'