python的有符号数和无符号数之间的转换

 python, unsigned, signed
import struct

# 将signed char转换为字节
struct.pack("b", -127)

# 将字节转换为signed char
struct.unpack("b", b"\x81")

# 将float转换为字节
struct.pack("l", 3.14159)

# 将字节转换为float
struct.unpack("f", b'\xd0\x0fI@')

若需要将读取的float值转换为float, 可以采用如下方法:
data = packet[0] << 24) | (packet[1] << 16) | (packet[2] << 8) | packet[3]
data_f = struct.unpack("f", struct.pack("I", data))

 

你可能感兴趣的:(编程语言)