java 全角字符转半角字符

  1. public class Test {
  2.     public static void main(String[] args) {
  3.         String t="■ ■ffac●●△※○○☆№ccc";
  4.         System.out.println(t);
  5.         System.out.println(toSemiangle(t));
  6.     }
  7.     
  8.     /**
  9.      * 全角空格为12288,半角空格为32
  10.      * 其他字符半角(33-126)与全角(65281-65374)的对应关系是:均相差65248
  11.      * 
  12.      * 将字符串中的全角字符转为半角
  13.      * @param src 要转换的包含全角的任意字符串
  14.      * @return  转换之后的字符串
  15.      */
  16.     public static String toSemiangle(String src) {
  17.         char[] c = src.toCharArray();
  18.         for (int index = 0; index < c.length; index++) {
  19.             if (c[index] == 12288) {// 全角空格
  20.                 c[index] = (char32;
  21.             } else if (c[index] > 65280 && c[index] < 65375) {// 其他全角字符
  22.                 c[index] = (char) (c[index] - 65248);
  23.             }
  24.         }
  25.         return String.valueOf(c);
  26.     }
  27. }

输出结果:

■ ■ffac●●△※○○☆№ccc
■ ■ffac●●△※○○☆№ccc

posted @ 2008-08-06 17:45  lovingprince  阅读(3242)  评论(0编辑  收藏  举报