前言
本文主要记录QT中常用数据类型转换。
持续更新...
一、Hex字符串转换成int list
test_string = '1122334455'
list2 = []
while True:
aim_file = test_string [0:2]
test_string = test_string [2:]
list2.append(int(aim_file, 16))
if len(test_string ) == 0:
break
#进一步转换为bytearray
send_buff = bytearray(list2)
转换后:
list2 = [0x11,0x22,0x33,0x44,0x55]
二、使用struct进行hex与基础类型的转换
示例一为将hex数组转换成double,转其他类型方法相同:
#示例一
import struct
a=[0xAE,0x47,0xE1,0x7A,0x14,0xAE,0xF3,0x3F]
s=struct.unpack("<d",bytes(a[1:9]))
print("double=",s)
打印:
double=(1.23,)
上述生成的s为元组(1.23,)
若改为如下写法,则s=1.23
s=struct.unpack("<d",bytes(a[1:9]))[0]