ANSI questions: "\x1B[?25h" and "\x1BE"

14
  1. "\x1B[?25h"是什么意思?

  2. "\x1BE""\n"有什么不同?根据http://ascii-table.com/ansi-escape-sequences-vt-100.php它“移动到下一行”?看起来好像"\n"也可以这样做?

    我在PHP中尝试了echo "xxx\nxxx\n"echo "xxx\x1BExxx\n",它们都输出相同的内容。

有任何想法吗?

谢谢!

1个回答

26
这些是 ANSI 转义序列(也称为 VT100 代码),是早期标准化的控制代码,先于 ASCII。
转义序列 \x1BEEsc+E 是 NEL 或“下一行”,用于旧终端和大型机上表示 CR+LF 或 \r\n
转义序列 \x1B[ (Esc+[) 是控制序列引导符的示例。(\x9B 是另一个单字符 CSI)。其后的控制序列 ?25h 用于显示光标。
大多数终端都支持这些控制代码;要输入转义序列,您可以键入 Ctrl+VCtrl+[,应该会呈现为 ^[ (ESC 的 C0 代码),然后是转义码。
参考文献:

ANSI转义序列涵盖了转义序列和控制序列吗?我从维基百科上了解到它们是不同的东西。CSI在概念上似乎是控制序列。 - rosshjb
1
@jinbeomhong,你的链接讨论的是字符之间的差异,而不是序列 - 转义字符可能是\,它不是控制字符。但我认为所有控制序列都是转义序列的特殊情况。 - cmbuckley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接