2014-11-23 88 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,你可以结束了

相关问题