This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Find a copy of Horstmann and Cornell (Core Java 2, Santa Clara: Sun Microsystems Press/Prentice-Hall). I have the 7th Edition (2005) and you find this on page 51, volume I.
If you go to Unicode, you find that European and African languages and numbers and symbols fill up much of the range between 0 and 65535 (0xFFFF), but there are gaps, some of several hundred numbers. These gaps were used as supplementary symbols, as the first half of a character from Chinese, etc., or even the big-Z which means "all integers." These won't fit into the 16 bits of a char, so the 1st half goes in one char and the 2nd half in the next char. There are methods in the Character class which deal with this sort of thing. By putting the two halves together, you get an int, which has space in 32 bits to hold all conceivable Earthling languages, and probably Klingon as well.
So rather than Unicode having space for 65000 characters it now has space for 1.1 million (or 17 million; I can't remember which). But if you stick to European languages you will probably never need to worry about code points.
[ May 04, 2008: Message edited by: Campbell Ritchie to improve formatting: hence the code tabs] [ May 04, 2008: Message edited by: Campbell Ritchie ]