Java全半角转换代码
jopen
11年前
全角转半角规则:
1、全角空格为12288,半角空格为32特殊处理;
2、其他字符半角(33-126)与全角(65281-65374)的对应关系是相差65248。
/** * StringUtils * * @author tongqian.zhang */ public class StringUtils { /** * 判断字符串是否为空或空字符串 * @param str 原字符串 * @return */ public static boolean isEmpty(String str) { return str == null || "".equals(str); } /** * 全角转半角: * @param fullStr * @return */ public static final String full2Half(String fullStr) { if(isEmpty(fullStr)){ return fullStr; } char[] c = fullStr.toCharArray(); for (int i = 0; i < c.length; i++) { if (c[i] >= 65281 && c[i] <= 65374) { c[i] = (char) (c[i] - 65248); } else if (c[i] == 12288) { // 空格 c[i] = (char) 32; } } return new String(c); } /** * 半角转全角 * @param halfStr * @return */ public static final String half2Full(String halfStr) { if(isEmpty(halfStr)){ return halfStr; } char[] c = halfStr.toCharArray(); for (int i = 0; i < c.length; i++) { if (c[i] == 32) { c[i] = (char) 12288; } else if (c[i] < 127) { c[i] = (char) (c[i] + 65248); } } return new String(c); } }</strong></span>