2024-05-08 19:26:19 发布
网友
我正在使用一些可以通过十六进制命令控制的硬件。我已经有一些Python代码片段,用于telnet控制其他使用ASCII命令的设备。
如何发送十六进制命令?例如,如何用十六进制值修改skt.send('some ascii command\r'),存储这些值的最佳数据类型是什么?
skt.send('some ascii command\r')
谢谢。
在Python2中,使用字符串文字:
skt.send('\x12\r')
在Python 3中,使用字节文本或^{}:
skt.send(b'\x12\r') skt.send(bytes.fromhex('12 0d'))
在这两种情况下,^{}类型都可能很有用,因为它是一种可变(可修改)类型,您可以用整数和字节文字构造它:
skt.send(bytearray([0x02, 0x03, 0x00, 0x00, 0x05]))
在Python 3下,您还拥有很棒的bytes.fromhex()函数。
bytes.fromhex()
>>> bytes.fromhex('AA 11 FE') b'\xaa\x11\xfe' >>> bytes.fromhex('AA11FE') b'\xaa\x11\xfe'
在Python2中,使用字符串文字:
在Python 3中,使用字节文本或^{} :
在这两种情况下,^{} 类型都可能很有用,因为它是一种可变(可修改)类型,您可以用整数和字节文字构造它:
在Python 3下,您还拥有很棒的
bytes.fromhex()
函数。相关问题 更多 >
编程相关推荐