我要用Python把一个16进制字符串转换为16进制数组,比如“0x00 0x01”变成[0x00,0x01],但是hex()函数是转换为字符了,比如我这样写:
出来变成了字符数组:
我要的是数组不是字符数组,不知道应该怎么做。求赐教
我要用Python把一个16进制字符串转换为16进制数组,比如“0x00 0x01”变成[0x00,0x01],但是hex()函数是转换为字符了,比如我这样写:
出来变成了字符数组:
我要的是数组不是字符数组,不知道应该怎么做。求赐教
问题已解决。
Python代码:
if data==0x55 and Bytenum==0:
CheckSum=data
Bytenum=1
这种写法给人一种从串口读进来的data就是16进制数组的感觉,但是labview读进来只能是字符串,于是我想着把”0x16 0x51”转换为[0x16 0x51],结果发现只能转换成[‘0x16’,’0x51’],也就是字节数组。
但其实,除了十进制整数外 其他整数的进制在计算机中都是以字符串表示的。
也就是说,0x10=16. 他俩其实是一个东西。
所以只要把字符串转换成十进制数组就可以了。即使能转换成16进制数组,他显示的时候也是十进制数组。而python从串口读进来的可能是十进制数组,也可能是十六进制数组,但直接显示,肯定都是十进制。if data==0x55 这么写是为了看的时候能对应上。