Java全半角轉換代碼

jopen 10年前發布 | 13K 次閱讀 Java Java開發

全角轉半角規則:

1、全角空格為12288,半角空格為32特殊處理;

2、其他字符半角(33-126)與全角(65281-65374)的對應關系是相差65248。


Java全半角轉換代碼:
    /**

 * StringUtils 
 *  
 */  
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);  
    }  
}  </pre></span></strong></span>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!