python, 字符串转十六进制数组
python, string to hex array
快问,我要这个(当然python3):
frame = "AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA"
对此:
frame = [0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA]
我们可以试试这个:
frame = "AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA"
[int(character, 16) for character in frame]
# [10, 10, 10, 5, 5, 5, 10, 10, 10, 5, ... ]
正如@Reti43 在 中指出的那样,像0xA
这样的十六进制值对应于像10 这样的数字,所以这就是结果列表具有整数的原因。
如果 OP 需要十六进制,则可以使用以下字符串表示形式。然后可以将此字符串传递给 int
以获取相应的整数。
frame = "AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA"
[f"0x{character}" for character in frame]
# ['0xA', '0xA', '0xA', '0x5', '0x5', '0x5', '0xA', '0xA', '0xA', '0x5', ...]
快问,我要这个(当然python3):
frame = "AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA"
对此:
frame = [0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA, 0x5, 0x5, 0x5, 0xA, 0xA, 0xA]
我们可以试试这个:
frame = "AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA"
[int(character, 16) for character in frame]
# [10, 10, 10, 5, 5, 5, 10, 10, 10, 5, ... ]
正如@Reti43 在0xA
这样的十六进制值对应于像10 这样的数字,所以这就是结果列表具有整数的原因。
如果 OP 需要十六进制,则可以使用以下字符串表示形式。然后可以将此字符串传递给 int
以获取相应的整数。
frame = "AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA555AAA"
[f"0x{character}" for character in frame]
# ['0xA', '0xA', '0xA', '0x5', '0x5', '0x5', '0xA', '0xA', '0xA', '0x5', ...]