2010-11-02 210 views
1
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

嘿漂亮的用戶名! – 2010-11-02 15:44:15

回答

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' 
+0

謝謝。這很好用! – samsara 2010-11-02 15:56:08