我正在尝试通过telnet发送一系列单十六进制字节,但是我遇到了一些问题。
import telnetlib
tn = telnetlib.Telnet('192.168.4.1', 23, 5)
a = [0xFF, 0x0C]
b = a[1]
b = chr(b)
b = bytes(b, 'ascii')
tn.write(b)
raise SystemExit
我无法发送从0x00到0xFF的整个范围。例如,当我尝试发送0xFF时,它说
UnicodeEncodeError:'ascii'编解码器无法在其中编码字符'\ xff' 位置0:序数不在范围内(128)
而且我绝对必须一次发送一个完整的十六进制字节,以供STM32 UART模块接收。
如果我只写
a = [0xFF, 0x0C]
b = a[1]
tn.write(chr(b))
它给了我
TypeError:“在
中”要求将字符串作为左操作数,而不是字节
如何使用变量通过telnet发送十六进制字节?