我有一个存储在缓冲区 [] 中的 2 个整数的列表。我想要交换两个字节。例如,如果第一个元素是 13 和 05 ,我需要将输出作为十六进制字符串读取为 050d (即,交换原始字节 13 和 05 - 使其读取为 05 和 13 然后读取为十六进制) . 稍后我需要将其转换为 int (1293),我想我可以使用 int() 运算符来实现。
我不太确定我正在做的按位运算。我现在做的是:
print(hex(buffer[0]<<8 | buffer[1] )[2:])
这会将输出打印为 d05。但我想要的是050d。稍后我可以使用 int() 功能将其转换为 int 。有人可以帮我进行移位操作吗?谢谢!
解释更多:这是我的示例程序:
buffer = []
def func():
global buffer
buffer.append(13)
buffer.append(05)
func()
print(buffer)
print(hex(buffer[0]<<8 | buffer[1] )[2:])
这将打印 b05,而我想要的输出是 050b。