Комментировать недопустимые последовательности Unicode

Однажды я работал над Java-приложением, связанным с обработкой юникода, и, как обычно, сначала я пишу код и тестирую его, затем комментирую рабочий код и добавляю несколько новых строк, и этот процесс продолжается до тех пор, пока я не найду нужный код. решение

Точная проблема, с которой я столкнулся, заключалась в том, чтобы комментировать недопустимые строки Unicode. Какой-то юникод не работал, и я хотел просто закомментировать это... к моему крайнему удивлению, это не сработало.

Пример кода:

class UnicodeTester{
//char someCharacter = "\ux13d";
}

javac UnicodeTester.java

UnicodeTester.java:2: illegal unicode escape
//char someCharacter = "\ux13d";
                              ^
1 error

Есть ли способ, где я могу закомментировать недопустимые последовательности Unicode?? Я прочитал Спецификацию языка Java 2.2 и 2.3. Лексическая грамматика применяется до синтаксической грамматики. ПЕРИОД. Но каков наиболее эффективный обходной путь, кроме удаления их из исходного кода??


person Sekhar    schedule 16.10.2010    source источник


Ответы (2)


Вы можете обойти это, вставив пробел после обратной косой черты:

//char someCharacter = "\ ux13d";
person rsp    schedule 16.10.2010
comment
хм.. это сработает для одного символа.. Я имел в виду, что если есть длинная строка, такая как \ux13d\uy14x\u..... менять их на каждом \ было бы плохой идеей.. Спасибо. - person Sekhar; 23.10.2010
comment
@user331225 user331225, в случае длинных просмотров, которые нужно экранировать, я бы выбрал уникальный шаблон (например, \/) и использовал замену при выборе в IDE, чтобы заменить все вхождения сразу и вернуться позже. - person rsp; 23.10.2010
comment
.endAt(s*\ud#ff); для этого я получаю сообщение об ошибке: недопустимый выход из юникода - person s.j; 06.04.2019

Иногда это происходит, когда необходимо встроить что-то с использованием кода PHP в Javascript, например, целочисленное значение, и необходимо временно прокомментировать какое-то недопустимое значение, но PHP по-прежнему выдает ошибку, потому что код PHP запускается до создания кода JS и обрабатывается как комментарий. .

Обычно я делаю что-то вроде

class UnicodeTester{
//char someCharacter = "\\ux13d";  // illegal
}

так что я все еще могу найти \u позже или найти illegal.

person nonopolarity    schedule 16.10.2010