了解VT100 / ANSI终端

时间:2012-03-22 20:46:54

标签: c# ansi vt100

我正在使用C#中的小型服务器应用程序,该应用程序应提供VT100 / ANSI终端接口(通过telnet或调制解调器)。

我正在研究VT100 / ANSI,我读的越多,我就越困惑。我想实现一个简单的解析器来处理ansi转义/控制序列,但规范包含很多可能的命令。基本上,我的问题归结为:

1)如果我处理基于telnet的客户端(如putty)或简单的拨号程序(如minicom或hyperterminal),我应该执行哪些命令。我确信在这些应用程序中根本没有使用或忽略很多转义序列。

2)当我们用ESC字符作为前缀时,我是否只需要处理C0控制字符?或者当我在正常的文本序列中遇到它们时?我无法从文档中获取这些关键信息。

3)我应该关心私人控制序列吗?

提前致谢,

的Jeroen。

1 个答案:

答案 0 :(得分:2)

在任何情况下都必须检测转义序列;但是,你不需要解释所有这些,但至少你应该能够跳过它们。

例如Esc[5m打开闪烁模式。如果您想忽略此模式,只需跳过"Esc[5m"

我不认为C0控制字符以ESC为前缀。

我从未遇到过这些私人控制序列。等一下,看看它们是否被使用过。实施可能永远不会使用的东西是没有意义的。