1

这是我从套接字流中得到的示例字符串。

\033[H\033[J\033[1;30HSUPERVISOR MAIN MENU\033[6;5H 0.  Exit         Exit\033[7;5H 1.  Help         Display help\033[8;5H 2.  Control      Calling lists and users\033[9;5H 3.  Campaign     Campaigns\033[10;5H 4.  Manage  

如果你想看到我希望打开一个 unix/linux shell 的输出,输入echo -e后跟一个空格,然后是上面的单引号字符串,然后按 Enter 键。输出类似于:

                     SUPERVISOR MAIN MENU


 0.  Exit         Exit
 1.  Help         Display help
 2.  Control      Calling lists and users
 3.  Campaign     Campaigns
 4.  Manage

我想要相同的输出,除了它应该在内存中......我需要稍后使用它......任何想法。

4

1 回答 1

1

几个小时前我问了一个几乎相同的问题:Open Source C# VT100 Server。您需要一个能够理解 vt100 转义命令的客户端库。

我搜索了一段时间,到目前为止还没有找到任何非常好的 vt100 C# 库。我已经开始使用自定义的了,因为我真的只需要解释左右箭头和退格键,所以用不了多久。

幸运的是,vt100 标准非常杂乱,并不过分复杂。我认为编写一些代码来理解示例中的转义命令不需要很长时间。此链接有一个简洁的VT100 转义序列列表(您需要向下滚动一点)。另一个不错的网站是vt100.net

在您的示例中,转义序列是八进制的。您的第一个转义序列是:

\033[H

它转换为下面的 ASCII,用于设置光标位置。

ESC [ H

第二个是

\033[J

它转换为下面的 ASCII 序列,表示清除该行到屏幕末尾。

ESC [ J 
于 2009-10-29T13:22:39.177 回答