全角和半角转换
??转换说明???
??全角字符从的unicode编码从65281~65374???
??半角字符从的unicode编码从?????? 33~126???
? 空格比较特殊,全角为?? 12288,半角为?? 32???
? 而且除空格外,全角/半角按unicode编码排序在顺序上是对应的???
? 所以可以直接通过用+-法来处理非空格数据,对空格单独处理???
?
public static String ToDBC(String input) { char[] c = input.toCharArray(); for (int i = 0; i< c.length; i++) { if (c[i] == 12288) { c[i] = (char) 32; continue; } if (c[i]> 65280&& c[i]< 65375) c[i] = (char) (c[i] - 65248); } return new String(c);}?