Python 将字符串编码为十六进制字节

Python 将字符串编码为十六进制字节,python,python-2.7,Python,Python 2.7,我有一个字符串“123456ffffffff”。如何获得以下信息 [0x12, 0x34, 0x56, 0xff, 0xff, 0xff, 0xff] 输入字符串将只包含数字。输出可以是bytearray,也可以只是一个数组如果您不关心3.x兼容性,那么: s = '123456ffffffff' result = list(bytearray(s.decode('hex'))) # [18, 52, 86, 255, 255, 255, 255] 对于3.x和兼容性,最好使用unexlif

我有一个字符串“123456ffffffff”。如何获得以下信息

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

输入字符串将只包含数字。输出可以是bytearray,也可以只是一个数组

如果您不关心3.x兼容性,那么:

s = '123456ffffffff'
result = list(bytearray(s.decode('hex')))
# [18, 52, 86, 255, 255, 255, 255]
对于3.x和兼容性,最好使用
unexlify

from binascii import unhexlify
result = list(bytearray(unhexlify(s)))
因此,如果您不需要任何
bytearray
,您可以得到:

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