在python中通过telnet发送十六进制值

时间:2018-12-15 23:40:45

标签: python telnet telnetlib

我正在尝试通过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发送十六进制字节?

0 个答案:

没有答案