我正在使用一些可以通过十六进制命令控制的硬件。我已经有一些 Python 代码片段,用于对使用 ASCII 命令的其他设备进行 telnet 控制。

如何发送十六进制命令?例如,我将如何使用十六进制值修改 skt.send('some ascii command\r'),以及存储这些值的最佳数据类型是什么?

谢谢。

最佳答案

在 Python 2 中,使用字符串文字:

skt.send('\x12\r')

在 Python 3 中,使用字节文字或 bytes.fromhex :
skt.send(b'\x12\r')
skt.send(bytes.fromhex('12 0d'))

在任何一种情况下, bytearray 类型都可能有用,因为它是一种可变(可修改)类型,您可以使用整数和字节文字构造它:
skt.send(bytearray([0x02, 0x03, 0x00, 0x00, 0x05]))

关于python - 发送十六进制数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11865490/

10-12 20:18
查看更多