Python 不带telnet命令的Telnetlib读取服务器响应

Python 不带telnet命令的Telnetlib读取服务器响应,python,telnet,telnetlib,Python,Telnet,Telnetlib,我使用telnetlib连接到远程telnet服务器并解析其响应,但是,所有telnetlib的read_*方法都返回其原始响应(包括以0xFF开头的原始telnet命令字节),这对于我来说是不可取的 例如,调用read_all时: 所需输出-b'Hello' telnetlib返回的输出-b'\xff\xfd\x18\xff\xfdHello' 有没有办法让telnetlib从其输出中排除那些特殊的telnet控制字节?从您的问题中我可以看出,您需要将字符串转换为UTF-8。这可能是你的解决方

我使用telnetlib连接到远程telnet服务器并解析其响应,但是,所有telnetlib的read_*方法都返回其原始响应(包括以0xFF开头的原始telnet命令字节),这对于我来说是不可取的

例如,调用read_all时: 所需输出-b'Hello' telnetlib返回的输出-b'\xff\xfd\x18\xff\xfdHello'


有没有办法让telnetlib从其输出中排除那些特殊的telnet控制字节?

从您的问题中我可以看出,您需要将字符串转换为UTF-8。这可能是你的解决方案。

否,这些是telnet控制字符,它们不是服务器外壳响应的一部分,尝试解码这些字节序列可能会导致无效的unicode字符串或包含不需要的数据。在这种情况下,有关删除控制字符的问题已经得到回答。这些不是ANSI转义序列,这是telnet控制字节,这是完全不同的。