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