0

XPでtelnetプロキシを書いています。これで、システムの telnet サーバーに telnet で接続し、その戻り値を出力してプロシージャーに送り返すことができます。

非常に不可解な現象を発見しました。サーバーに初めて telnet で接続すると、ログインするように求め"tamlok"られ"116,97,109,108,111,107,10,13"ます"tamlok"(10 and 13 means '\n' and '\r')

ただし、ログインした後、"tamlok"もう一度入力します。それは私にそれを送り返します"27,91,56,59,51,52,72,116,0,97,0,108,0,111,0,107,0,27,91,57,59,49,72"

"116"などに変わるようにユニコードを返すことをお勧めします"116,0"。しかし、シーケンス "27,91,56,59,51,52,72""27,91,57,59,49,72". {0x1B, 0x5B, 0x48, 0x1B, 0x5B, 0x4A}コンソールをクリアするのと同じように、おそらく特別な機能のシーケンスだと思います。

では、これをどう解釈するか。どんな助けでも大歓迎です!

4

1 に答える 1

0

Joachim Pileborg に感謝します。端末制御コードであることは明らかです。. したがって、"27,91,56,59,51,52,72" は "[Esc][8;34H" となり、次のパターンに適合します。 Cursor Home [{ROW};{COLUMN}H 後続のテキストが表示されるカーソル位置を設定します。始める。行/列パラメータが指定されていない場合 ([H] など)、カーソルは画面の左上のホーム ポジションに移動します。27、91、57、59、49、72 インチも同様です。

于 2012-04-13T23:34:59.957 に答える