[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Java/Unicode brain damage
> The Java way to handle this is to stop thinking of a Java char as > representing a Unicode character. It doesn't. A Java char represents a > UTF-16 code point, which may be a surrogate. The public API to > java.lang.String is essentially a UTF-16 API. For example, the length() > method of a string does not return the number of Unicode characters in > the string. Rather it returns the number of UTF-16 code points. A string > containing a single Plane-1 character has length 2 in Java. I agree with this analysis. Much more problematic than java.lang.String is java.lang.Character. An API like java.lang.Character.isLetter(char ch) doesn't work too well once you have letters outside the BMP. The JDK ought to have a class representing a Unicode character (scalar value). Unfortunately .NET (System.Char) has the same problem. James
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|