Почему восьмеричные экранирования Java достигают 255?

Спецификация языка Java гласит, что экранированные символы внутри строк - это "нормальные" C, такие как\n а также\t, но они также указывают восьмеричные побеги от\0 в\377, В частности, JLS заявляет:

OctalEscape:
    \ OctalDigit
    \ OctalDigit OctalDigit
    \ ZeroToThree OctalDigit OctalDigit

OctalDigit: one of
    0 1 2 3 4 5 6 7

ZeroToThree: one of
    0 1 2 3

это означает что-то вроде\4715 недопустимо, несмотря на то, что оно находится в пределах диапазона символа Java (поскольку символы Java не являются байтами).

Почему у Java есть это произвольное ограничение? Как вы должны указывать восьмеричные коды для символов за пределами 255?

Ответы на вопрос(5)

Ваш ответ на вопрос