2

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

我正在对 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 回答