Комментировать незаконные последовательности Юникода - PullRequest
3 голосов
/ 16 октября 2010

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

Точной проблемой, с которой я столкнулся, было закомментирование недопустимых строк Unicode.Какой-то 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. Лексическая грамматика применяется перед синтаксической грамматикой.СРОК.Но какой самый эффективный обходной путь, кроме удаления их из исходного кода ??

Ответы [ 2 ]

1 голос
/ 16 октября 2010

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

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

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

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

1 голос
/ 16 октября 2010

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

//char someCharacter = "\ ux13d";
...