Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

  1. What does "\x1B[?25h" do?

  2. How is "\x1BE" different from "\n"? According to http://ascii-table.com/ansi-escape-sequences-vt-100.php it "moves to next line"? Seems like that's what "\n" does?

    I tried echo "xxx\nxxx\n" and echo "xxx\x1BExxx\n" in PHP and they both output the same thing.

Any ideas?

Thanks!

like image 717
neubert Avatar asked Feb 21 '13 20:02

neubert


1 Answers

These are ANSI escape sequences (also known as VT100 codes) are an early standardisation of control codes pre-dating ASCII.

The escape sequence \x1BE, or Esc+E, is NEL or "Next line", and is used on older terminals and mainframes to denote CR+LF, or \r\n.

The escape sequence \x1B[ (Esc+[) is an example of a Control Sequence Introducer. (\x9B is another single-character CSI.) The control sequence ?25h following it is used to show the cursor.

Most terminals will support these control codes; to enter escape sequences you can type Ctrl+V, Ctrl+[ which should render as ^[ (the C0 code for ESC), followed by the escape code.

References:

  • ANSI escape code
  • C0 and C1 control codes
like image 161
cmbuckley Avatar answered Nov 10 '22 15:11

cmbuckley