Python 将字符串编码为十六进制字节
我有一个字符串“123456ffffffff”。如何获得以下信息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
[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)]