全角转半角

package com.hung.test;  
  
/**  
 * 全角转半角  
 * @author hung  
 *  
 */  
public class MyQB {  
  
    /**  
     * @param args  
     */  
    public static void main(String[] args) {  
        String qs = "1 2    3·4657890qazwsxedcrfvtgbyhnujmkilo,。、;‘’\】【";  
        String rqs = Q2BChange(qs,true);  
        System.out.println(qs + "\n" + rqs);  
          
    }  
  
    private static String Q2BChange(String input,boolean flag) {  
        String result = "";  
        char[] str = input.toCharArray();  
        for(int i=0;i<str.length;i++ ){  
            int code = str[i];//获取当前字符的unicode编码  
             if (code >= 65281 && code <= 65373)//在这个unicode编码范围中的是所有的英文字母以及各种字符  
              {  
               result +=(char)(str[i] - 65248);//把全角字符的unicode编码转换为对应半角字符的unicode码  
              }else if (code == 12288)//空格  
              {  
               result +=(char)(str[i] - 12288 + 32);  
              }else if(code == 65377){  
                  result +=(char)(12290);  
              }else if(code == 12539){  
                  result +=(char)(183);  
              }else if(code == 8482 && flag==true){//如果是特殊字符TM 并且是需要转换的所作操作  
                  
              }else if(code ==8226){ //特殊字符 ‘·’的转化  
                  result += (char)(183);  
              }else{  
               result += str[i];  
              }  
        }  
          
        return result;  
    }  
  
} 

你可能感兴趣的:(全角转半角)