我从函数中得到两个十六进制字符串:
def getHex(hexIn):
return hex(hexIn >> 8), hex(hexIn & 0xFF)
然后我想这样做:
Hi, Lo = getHex(14290)
Cmd = bytes([0x66, 0x44, 0xA6, Hi, Lo])
但我收到错误:
TypeError: 'str' object cannot be interpreted as an integer
如何将其转换为0x66
之类的表单?
答案 0 :(得分:1)
您报告的错误表明您正在使用python3。
替换:
Cmd = bytes([0x66, 0x44, 0xA6, Hi, Lo])
使用:
Cmd = bytes([0x66, 0x44, 0xA6, int(Hi, 16), int(Lo, 16)])
hex
中使用的getHex
函数返回字符串。 bytes
想要一个整数列表。解决方案是使用int
将字符串转换为整数。