public class CharUtils {
// Fullwidth to ASCII
public static String fullwidthToAscii(String s) {
int n = s.length();
StringBuilder sb = new StringBuilder(n);
for (int i = 0; i < n; i++) {
char c = s.charAt(i);
sb.append( fullwidthToAscii(c) );
}
return sb.toString();
}
public static char fullwidthToAscii(char c) {
if (c == '\u3000') {
return ' ';
}
else if (c < '\uff00') {
return c;
}
else if (c > '\uff5d') {
return c;
}
// FF00 - FF5D
return (char)(c - '\ufee0');
}
...
public static void main(String[] args) throws Exception {
...
// Fullwidth to ASCII
for (char c = '\uff00' ; c < '\uff60'; c++) {
System.out.printf("%c%c", c, fullwidthToAscii(c));
if (c % 16 == 15) {
System.out.println();
}
else {
System.out.print("|");
}
}
System.out.println();
}
}
|