未知的 ANSI 转义序列

Unknown ANSI escape sequence

我正在尝试创建一个 HTML 终端模拟器。大多数格式化代码我都可以,pages like this 是一个很大的帮助。但是包含提示的行很奇怪(字符串,然后是下面的 ASCII 代码):

\e]0;pi@igor: ~{??}\e[01;32mpi@igor:[01;34m~ $  
####
27 93 48 59 112 105 64 105 103 111 114 58 32 126 7 27 91 48 49 59 51 50 109 112 105 64 105 103 111 114 27 91 48 48 109 58 27 91

首先,在该行的开头有这个 \e](Esc + 右括号!)序列,我在文档中没有看到。有一个左括号会更好,但即使是我在参考文献中也找不到。

接下来是我在字符串中用 {??} 替换的字符代码 7。在提示符之后有一个字节 7.

这里的实际提示是

pi@igor:~ $ 

带有格式(并且 igor 是 Raspberry Pi),因此字符串在 {??} 部分之后完全没问题(即使被我截断),即 char 7。但在那之前是什么?

编辑:是的,字符 7 将是 ASCII 中的铃。如果是这样,为什么它有完整的提示?

它正在将终端标题设置为 pi@igor: ~,这是由第一部分 \e]0;pi@igor: ~\a 完成的。

dave_thompson_085 的评论报告这是一个 xterm 序列:

This is an xterm defined sequence, not ANSI or DEC. See https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Operating-System-Commands (and the top of the page where OSC is explained as ESC ] or \x9D).