我将十六进制转换为十进制,但结果是大端,我需要小端(例如 1500 = 21,而不是我得到的 5376)。我尝试使用 struct 函数,但遇到了一些问题:
u16ModuleID_hex = str(f3.read(4))
ba = bytearray.fromhex(u16ModuleID_hex)
ba.reverse()
u16ModuleID_dec = struct.unpack("<h", ba)
错误:在位置 1 的 fromhex() arg 中找到非十六进制数 所以,我添加了:ba = bytearray.fromhex(u16ModuleID_hex[0][2:])
错误:struct.error: unpack requires a buffer of 2 bytes
u16ModuleID_hex 是例如 b'10b5'。我假设它的前面有 b' 和整体数据类型。