Why can\'t I use \\u000D and \\u000A as CR and LF in Java? It\'s giving an error when I compile the code:
String x = "\\u000A hello";//Error - Illeg
Because it falls within the range of Unicode Control characters
Which is U+0000–U+001F
and U+007F
.
Unicode control characters are used to control the interpretation or display of text, but these characters themselves have no visual or spatial representation.
They can be escaped by using \
like described in above answer by @Mark
FROM RFC:
2.5. Strings
The representation of strings is similar to conventions used in the C family of programming languages. A string begins and ends with quotation marks. All Unicode characters may be placed within the quotation marks except for the characters that must be escaped: quotation mark, reverse solidus, and the control characters (U+0000 through U+001F).
Any character may be escaped.