KazMuzik.net
Music / Technology / Healthcare / Immigration / アメリカ
Google
 
<< M-Audio Fast Track USB & Studiophile DX4Alesis M1 Active 520 >>

Japanese Character Utility #2 - 全角英数記号 -> ASCII - KazMuzik Blog
2007-04-23 03:12

前回の utility class に、全角の英数記号を、ASCII に変換するメソッドを加えます。
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();
  }
}

$ java CharUtils
...

＀ |!!|""|##|$$|%%|&&|''|((|))|**|++|,,|--|..|//
00|11|22|33|44|55|66|77|88|99|::|;;|<<|==|>>|??
@@|AA|BB|CC|DD|EE|FF|GG|HH|II|JJ|KK|LL|MM|NN|OO
PP|QQ|RR|SS|TT|UU|VV|WW|XX|YY|ZZ|[[|\\|]]|^^|__
``|aa|bb|cc|dd|ee|ff|gg|hh|ii|jj|kk|ll|mm|nn|oo
pp|qq|rr|ss|tt|uu|vv|ww|xx|yy|zz|{{||||}}|~~|⦅⦅

$


*

Tags: computer_technology, programming