2013-10-11 40 views
1

是否有人知道如何獲取任意長的十六進制字符串(例如"01020304deadbeef")並獲取相應的字節("\x01\x02\x03\x04\xde\xad\xbe\xef")?在Perl中,這可以使用pack('H*', $string)獲得,但我正在尋找一個Python解決方案。

回答

7
>>> T = (1, 2, 3) 
>>> struct.pack('H' * len(T), *T) 
'\x01\x00\x02\x00\x03\x00' 

編輯:

>>> "01020304deadbeef".decode('hex') 
'\x01\x02\x03\x04\xde\xad\xbe\xef' 
+0

我似乎無法做試驗= struct.pack( 'H' * len個(T),* T)。當我嘗試打印出「測試」時,它是空的。 :( –

+0

你的意思是它是不可打印的,打印它的'repr()'而不是 –

+0

對於任何感到困惑的人來說,打印repr(測試),謝謝你的幫助! –