2

私は、VT100/ANSI ターミナル インターフェイス (telnet またはモデム経由) を提供する C# の小さなサーバー アプリケーションに取り組んでいます。

私は VT100/ANSI についていくつかの調査を行っていますが、読めば読むほど混乱します。ansiエスケープ/制御シーケンスを処理するための単純なパーサーを実装したいのですが、仕様には可能なコマンドがたくさん含まれています。基本的に、私の質問はこれに要約されます:

1) telnet ベースのクライアント (putty など) または単純なダイヤルアップ プログラム (minicom やハイパーターミナルなど) を扱う場合、どのコマンドを実装する必要がありますか。これらのアプリでは、多くのエスケープ シーケンスが単に使用されていないか無視されていると確信しています。

2) ESC 文字がプレフィックスとして付いている場合、C0 制御文字のみを処理する必要がありますか? または、通常のテキストシーケンスでそれらに遭遇したときも? この重要な情報をドキュメントから引き出すことはできません。

3) プライベート コントロール シーケンスを気にする必要がありますか?

前もって感謝します、

ジェローン。

4

1 に答える 1

2

いずれにせよ、エスケープ シーケンスを検出する必要があります。ただし、すべてを解釈する必要はありませんが、少なくともそれらをスキップできる必要があります。

たとえばEsc[5m、点滅モードをオンにします。このモードを無視する場合は、スキップして"Esc[5m"ください。

C0 制御文字の前に ESC が付いているとは思いません。

私は、これらのプライベート コントロール シーケンスに遭遇したことはありません。それらが使用されるかどうかを確認するのを待ちます。決して使われないものを実装しても意味がありません。

于 2012-03-22T21:45:31.290 に答える