Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "\1" represent in this Java string?

System.out.println("\1");

I thought it did not compile because of the non-recognized escape sequence.

What does "\1" exactly represent?

like image 692
Rollerball Avatar asked Sep 10 '25 20:09

Rollerball


1 Answers

It's an octal escape sequence, as listed in section 3.10.6 of the JLS. So for example:

String x = "\16";

is equivalent to:

String x = "\u000E";

(As Octal 16 = Hex E.)

So \1 us U+0001, the "start of heading" character.

Octal escape sequences are very rarely used in Java in my experience, and I'd personally avoid them where possible. When I want to specify a character using a numeric escape sequence, I always use \uxxxx.

like image 93
Jon Skeet Avatar answered Sep 12 '25 09:09

Jon Skeet