将Hexa数组转换为字符串

2024-03-29 06:59:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要转换这个数组

data = [
#SHO
0x56, 0x0d, 
#CMD
0x1, 0x00, 0x00, 0x00, 
#ARG
0x1, 0x0,
#SIZE
0x02, 0x00, 0x00, 0x00, 
#OPAQUE
0x01, 0x02,
#RESERVED
0x00, 0x00
]

然后产生一条线

^{pr2}$

Tags: cmddatasizearg数组reservedpr2opaque
3条回答
In [16]: ''.join(str(i) for i in data)
Out[16]: '861310001020001200'

或者(根据@thg435的建议)使用chr()代替{}:

^{pr2}$

这就是你要找的吗?如果没有,你能提供所需的输出吗?在

(由于问题模棱两可,合并当前帖子。)

以十六进制打印字节:

>>> ''.join(('%2s' % hex(d)[2:]).replace(' ', '0') for d in data)
'560d0100000001000200000001020000'

将字节打印为十进制:

^{pr2}$

将字节打印为字符:

>>> print bytearray(data)
☺   ☺ ☻   ☺☻

或等效:

>>> print ''.join(map(chr, data))
☺   ☺ ☻   ☺☻

你的意思是把它读成字节串吗?在

print bytearray(data)

相关问题 更多 >