2014-11-23 112 views
0

我有一個字符串'123456ffffffff'。我如何獲得以下內容將字符串編碼爲十六進制字節

[0x12, 0x34, 0x56, 0xff, 0xff, 0xff, 0xff] 

輸入字符串將只包含數字。輸出可以是ByteArray或只是一個數組

回答

0

如果你不關心3.x的兼容性,則:

s = '123456ffffffff' 
result = list(bytearray(s.decode('hex'))) 
# [18, 52, 86, 255, 255, 255, 255] 

對於3.x和兼容性,最好使用unhexlify

result = [ord(ch) for ch in unhexlify(s)] 

from binascii import unhexlify 
result = list(bytearray(unhexlify(s))) 

所以,如果你不需要任何東西一bytearray,你可以結束了

相關問題