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