【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;
    }

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