我正在解释串口的一些输出。输出位于VT100 protocol。 VT100终端协议使用一些控制字符序列在屏幕上设置光标位置。控制序列如下所示:
ESC [行; columnH
例如,
ESC [01; 01H表示将光标设置为第1行第1列。
但是当列号超过2位数时,我会看到以下序列。
ESC [10;:0H
请注意额外的" :"分号后。此控制序列在ESC[10;99H
之后,这意味着第10行,第99列。
我的理解是:0
= 100
。但是如果列号是200?
答案 0 :(得分:1)
我不认为这实际上是有效的,如果是的话,那完全是偶然的。传递给CUP
(光标位置)命令的参数(以及屏幕坐标中涉及的许多其他参数)仅限于一位或两位数。
在ASCII表格中,数字9
后跟:
,因此,99
代表9 * 10 + 9
,:0
可能代表10 * 10 + 0
或100
:
假设错误支持更高的数字(我不相信的话),你正在寻找200
,20 * 10 + 0
或D0
({{ 1}}是ASCII表中高于D
的字符。)
答案 1 :(得分:1)