了解VT100/ANSI终端

本文关键字:终端 ANSI VT100 了解 | 更新日期: 2023-09-27 18:28:38

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

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

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

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

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

提前感谢

Jeroen。

了解VT100/ANSI终端

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

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

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

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