
Such presentation might be useful to a knowledgeable person who needs to inspect the
content of a Unicode file that mostly consists of ASCII characters. The program branch-
es according to the General Category (gc) value of the character, as obtained using the
getType function; the gc values as defined in the Unicode standard are given in com-
ments:
public class show {
public static void printc(String symbol, int data) {
System.out.print("[" + symbol +
Integer.toHexString(data) + "]"); }
public static void main(String[] args) {
String msg = "Rhône, 42\u00a0§, price £50";
for(int i = 0; i < msg.length(); i++) {
char ch = msg.charAt(i);
int code = ch;
if(code < 0x7F) { /* ASCII */
System.out.print(ch); }
else switch(Character.getType(ch)) {
case Character.UPPERCASE_LETTER: /* Lu */
case Character.LOWERCASE_LETTER: /* Ll */
case Character.TITLECASE_LETTER: /* Lt */
case Character.MODIFIER_LETTER: /* Lm */
case Character.OTHER_LETTER: /* Lo */
printc("L:", code);
break;
case Character.DECIMAL_DIGIT_NUMBER: /* Nd */
case Character.LETTER_NUMBER: /* Nl */
case Character.OTHER_NUMBER: /* No */
printc("N:", code);
break;
case Character.NON_SPACING_MARK: /* Mn */
case Character.COMBINING_SPACING_MARK: /* Mc */
case Character.ENCLOSING_MARK: /* Me */
printc("~:", code);
break;
case Character.SPACE_SEPARATOR: /* Zs */
printc(" :", code);
break;
case Character.LINE_SEPARATOR: /* Zl */
System.out.println(); ...