gpt4 book ai didi

Python 异或运算和 ser.read()

转载 作者:太空宇宙 更新时间:2023-11-03 19:00:28 27 4
gpt4 key购买 nike

我正在实现一个 Python 脚本来读取 XBee 发送的帧。 PC将接收帧并处理它们。

我有一个问题,因为我在 XBee 中使用 AP=2,所以所有帧都可以有转义字符。我想检测它们并在使用它们之前输入真实值。

这是我读取转义字节的代码片段:

read = ser.read()
if(toHex(read) != '7d'): #toHex converts a byte in Hex representation
#escaped char
read = logical_xor(ser.read(), 20) #you have to take the next character and make xor
#################################
def logical_xor(str1, str2):
return bool(str1) ^ bool(str2)

但它告诉我 str 不能在该操作中使用。你知道我必须做什么才能解决这个问题吗?

此外,我曾经像这样一起读取四个字节:

read = ser.read(4)

...并尝试与之前相同(尝试获取下一个位置(read[x+1])),但它告诉我类似的事情...

转换包括对下一个字符和0x20进行XOR

有什么想法吗?

最佳答案

你似乎把事情变得过于复杂了 - ser.read() 到底返回什么?单个字符串?如果是这样:

read = ser.read()
if ord(read) != 0x7d:
#escaped char
read = ord(ser.read()) ^ 0x20

关于Python 异或运算和 ser.read(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16177875/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com