【发布时间】:2016-07-21 14:15:21
【问题描述】:
我正在努力处理 Ansi 代码字符串。我得到了[32m, [37m, [K 等字符。
有没有一种更快的方法来消除/去除我得到的字符串中的 ansi 代码,而不是通过字符循环搜索 ansi 代码的起点和终点?
我知道声明是这样的:#27'['#x';'#y';'#z'm';
其中 x, y, z... 是 ANSI 代码。所以我假设我应该搜索#27,直到找到“m;”
是否有任何已经实现的功能来实现我想要的?除了this 文章,我的搜索没有返回任何内容。 谢谢
【问题讨论】:
-
Telnet 没有颜色的概念。您必须手动解析收到的字符串。
-
我实际上并没有在标题、问题和标签中提到 telnet。我刚刚解释了我需要 Ansi 代码解码器的情况...... ;)
-
"我构建了一个非常简单的 telnet 客户端来连接到接受 telnet 连接的特定设备"
-
... -> “但它适用于 ansi 颜色编码的字符串......所以我在 telnet 缓冲区中获取 xyz 字符......有没有更快的方法从我得到的字符串中消除/剥离 ansi 代码(或直接缓冲)..." ;) 如前所述,我只是解释了我在做什么,所以很清楚代码在哪里。另外,只是因为 Telnet 组件内部可能有一些我不知道的解析器,所以..
-
Ps:刚刚编辑了问题,省略了 Telnet 部分,如果这很重要的话。
标签: delphi ansi ansi-colors