\ x Побег на Яве? - PullRequest
       20

\ x Побег на Яве?

41 голосов
/ 01 сентября 2010

Мне было интересно, есть ли в Java аналогичный hex (\ x) выход, как в C ++.Например:

char helloworld[] = "\x48\x45\x4C\x4C\x4F\x20\x57\x47\x52\x4C\x44";
printf("%s", helloworld);

В Java нет выхода из шестнадцатеричного числа (\ x) по сравнению с тем, чем он пока является.Есть ли альтернатива, которую так же легко использовать, не объединяя кучу шестнадцатеричных чисел вместе?

Ответы [ 2 ]

52 голосов
/ 01 сентября 2010

Строки в Java всегда кодируются в UTF-16, поэтому он использует экранирование Unicode: \u0048.Также поддерживаются восьмеричные символы: \110

5 голосов
/ 25 ноября 2013

Обратите внимание, что восьмеричное экранирование юникода анализируется довольно рано.
Это может стать сюрпризом, когда

  String s = "text\u000d\u000a"; 

вызывает ошибку компилятора
потому что вы должны были использовать "text\015\012" или "text\r\n"

...