【发布时间】:2018-08-09 13:46:21
【问题描述】:
我正在转换我的代码,使其适用于 Python 3。剩下的主要问题是成功使用 serial.write 命令。在我之前的代码中,我创建了一个这样的字符串: 读取帧='\xAA\x00\x01\x00\x00\x00\x65\x00\x00\x00\x0A\x00\x6F\x71'。然后使用 serial.write(read_frame) 发送这个字符串。
然而,在 Python 3 中,我必须将其转换为“字节”才能使用 serial.write(read_frame)。如果它是一个静态框架,将其声明为: read_frame_byte=b'\xAA\x00\x01\x00\x00\x00\x65\x00\x00\x00\x0A\x00\x6F\x71'
然而,问题是我动态创建了这个十六进制字符串,所以最后我必须将字符串转换为字节。如果我使用命令 read_frame.encode('utf-8'),则转换会产生不同的十六进制数(例如,x65 变为 xe,因为这是相应的 ASCII 值)。这在技术上是正确的,但我只想将字符串转换为字节而不更改任何值。进行此转换的任何建议/解决方法?
【问题讨论】:
-
您好,欢迎来到堆栈溢出。对于其他人来说,查看您的非工作代码的更完整示例以提供更好的上下文会很有用
标签: python-3.x encoding type-conversion hex byte