我正在尝试编写运行 Raspberry Pi 4 和 Pico 的代码。唯一的问题是套接字库。在 Pico 上这有效:
cl.send("
时钟:" + strClk + "
")在 Raspberry Pi 4 上,需要执行以下操作:
cl.send(str.encode("
时钟:" + chr(32) + strClk + "
"))简单的字符串可以通过强制转换来处理:
cl.send(b"
时钟
"Pico 似乎将字符串视为字节数组。任何有关如何处理此问题的建议将不胜感激。
在常规 Python 中,套接字
send
方法需要一个字节字符串。根据MicroPython文档,要求是相同的。
socket.send(bytes)
向套接字发送数据。该套接字必须连接到远程套接字。返回发送的字节数,该字节数可能小于数据长度(“短写”)。
看起来 MicroPython 也会接受字符串参数,但在这种情况下,不清楚您到底要传输什么,所以我会避免这种情况,并且在 MicroPython 和 Python 中总是将字符串编码为字节:
cl.send(f"Clock: {strClk}".encode())
这将在两个 Python 实现中做正确的事情。