如何将看起来像[8,200,1,16]的字节格式转换为python中看起来像b'\ x08 \ xc8 \ x01 \ x10 \ xc8的字节格式

时间:2017-07-19 23:19:17

标签: python arrays formatting

我不确定在python中调用这种类型的字节数组格式:
格式A:
[8, 200, 1, 16, 200, 1, 24, 200, 1, 34, 21, 8, 1, 18, 17, 98, 97, 116, 116, 108, 101, 95, 116, 97]
但是我想将它转换成这种格式(我不确定的名称):
格式B:
b'\x08\xc8\x01\x10\xc8\x01\x18\xc8\x01"\x15\x08\x01\x12'

我知道如何从格式B到格式A:
import array data =b'\x08\xc8\x01\x10\xc8' print array.array('B', data)) 但我不确定如何从格式A到格式B,因为我也不知道这两种格式的名称,我得到的谷歌搜索结果很少。

1 个答案:

答案 0 :(得分:2)

Python 3中的一块蛋糕:

>>> L = [8, 200, 1, 16, 200, 1, 24, 200, 1, 34, 21, 8, 1, 18, 17, 98, 97, 116, 116, 108, 101, 95, 116, 97]
>>> bytes(L)
b'\x08\xc8\x01\x10\xc8\x01\x18\xc8\x01"\x15\x08\x01\x12\x11battle_ta'

如果你回到Python 2:

>>> L = [8, 200, 1, 16, 200, 1, 24, 200, 1, 34, 21, 8, 1, 18, 17, 98, 97, 116, 116, 108, 101, 95, 116, 97]
>>> str(bytearray(L))
'\x08\xc8\x01\x10\xc8\x01\x18\xc8\x01"\x15\x08\x01\x12\x11battle_ta'