【Unicode】unicode轉碼成中文

【JAVA】

例子:

	private static String decodeUnicode(){
    	String str = "\\u5c24";//unicode編碼   漢字:尤
    	str = str.replaceAll("\\\\u", "");//去掉\\u , 留下 "5c24"  16進制數字
    	char ch = (char) Integer.parseInt(str, 16);//將"5c24"轉成10進制數字,並用char強轉
    	return ch+"";
    }

工具方法:

	/**
	 * 
	 * @param unicode 需要轉換的字符串
	 * @return
	 */
	public static String decodeUnicode(String unicode) {
        Pattern p = Pattern.compile("\\\\u[0-9,a-f,A-F]{4}");//正則:匹配出字符串中所有的unicode編碼
        Matcher m=p.matcher(unicode);
        while (m.find()){
            String code = m.group();
            code = code.substring(2, 6);//截取16進制的數字,去掉前面的\\u
            char ch = (char) Integer.parseInt(code, 16);
            unicode = unicode.replace("\\u"+code,String.valueOf(ch));//替換掉str中的unicode編碼
        }
        return unicode;
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章