I was wondering if there is a similar hex (\x) escape in Java like there is in C++. For example:
char helloworld[] = "\x48\x45\x4C\x4C\x4F\x20\x57\x47\x52\x4C\x44"; printf("%s", helloworld);
There is no hex (\x) escape in Java from what it appears so far. Is there an alternative that is just as easy to use without having to concat a bunch of hex numbers together?
A character with a backslash (\) just before it is an escape sequence or escape character.
Escape sequences are used to signal an alternative interpretation of a series of characters. In Java, a character preceded by a backslash (\) is an escape sequence. The Java compiler takes an escape sequence as one single character that has a special meaning.
According to section 3.3 of the Java Language Specification (JLS) a unicode escape consists of a backslash character (\) followed by one or more 'u' characters and four hexadecimal digits. So for example \u000A will be treated as a line feed.
Strings in Java are always encoded in UTF-16, so it uses a Unicode escape: \u0048
. Octal characters are supported as well: \110
Note that Unicode escapes are parsed quite early. It can come as a surprise when
String s = "text\u000d\u000a";
causes a compiler error because you should have used "text\015\012"
or "text\r\n"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With