java 0xff c3bf,java – 通过telnet发送数据,而不需要输入

您应该可以通过telnet选项协商来做到这一点.协议默认为半双工模式,至少在交互式会话中,服务器应协商

suppress go ahead option和

echo option.

在最低限度,你可以在会话开始时吐出ff fb 01 ff fb 03(将回显,将会抑制),然后用ff fb 01(将回显)到任何ff fd 01(do echo)回声)并使用ff fb 03(将禁止前进)回复任何ff fd 03(禁止前进).

编辑补充说,本杰克逊提到的线路协商是一个更好的答案.绝大多数客户端连接在23以外的其他端口上,禁止预售将是不够的.

不过我认为其他的问题是Java正在发送Unicode字符.例如,当你说(char)0xff时,Java假定你是指UTF-16字符U 00ff,它是ÿ.它可能通过套接字使用UTF-8编码发送,因此telnet客户端看到两个字节:c3 bf,它传递并显示为ÿ.

您可以做的是明确告诉Java使用ISO-8859-1编码.例如,您可能以前曾经做过这样的事情:

out = new PrintStream(connection.getOutputStream());

out.print((char)0xff); // sends 0xc3 0xbf

out.print((char)0xfb); // sends 0xc3 0xbb

out.print((char)0x01); // sends 0x01

out.flush();

相反,您可以使用OutputStreamWriter来指定所需的编码:

out = new OutputStreamWriter(connection.getOutputStream(), "ISO-8859-1");

out.write((char)0xff); // sends 0xff

out.write((char)0xfb); // sends 0xfb

out.write((char)0x01); // sends 0x01

out.flush();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值