开发者

Comment Illegal Unicode Sequences

开发者 https://www.devze.com 2023-01-20 10:02 出处:网络
I was once working on a Java application dealing with unicode processing - and as usual to begin with, I w开发者_JAVA百科rite some code and test it, then comment out the working code and add some new

I was once working on a Java application dealing with unicode processing - and as usual to begin with, I w开发者_JAVA百科rite some code and test it, then comment out the working code and add some new lines., and this process goes on till I find the solution

The exact issue I had was commenting out illegal Unicode strings. Some unicode wasn't working and I wanted to just comment it out.. to my utter surprise, it wouldn't work.

Example Code:

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

javac UnicodeTester.java

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

Is there a way where I can comment out illegal unicode sequences?? I read the Java Language Specification 2.2 & 2.3, The Lexical Grammar is enforced before the Syntactic Grammar. PERIOD. But what is the most effective workaround other than removing them from the source code??


You could work around it by inserting a space char after the backslash:

//char someCharacter = "\ ux13d";


This sometimes happens when needing to embed something using PHP code into Javascript, such as an integer value, and need to comment some illegal value temporarily but PHP still gives error because the PHP code is run before the JS code is generated and as treated as comment.

Usually I do something like

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

so that I can still grep for \u later on or grep for illegal.

0

精彩评论

暂无评论...
验证码 换一张
取 消