不用转,直接输出结果即可,系统会自动转换。举例:
System.out.println("ab汉字");
结果就是:ab汉字。
Unicode转 汉字字符串最简单的方式就是直接获取。比如
String cnStr = "\\u9996";
System.out.println(cnStr); 即可获取对应的汉字字符 “首”;
但是每次从输出就不方便了,可以使用以下方法来做转换,直接获取。
代码片段如下:
public static String unicodeToString(String str) {
Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))");
Matcher matcher = pattern.matcher(str);
char ch;
while (matcher.find()) {
ch = (char) Integer.parseInt(matcher.group(2), 16);
str = str.replace(matcher.group(1), ch + "");
}
return str;
}
直接调用这个方法就可以把unicode转换成中文了!
1、URLEncoder.encode("首","unicode");这个方法是把“首”字将按unicode进行编码得到:%FE%FF%99%96
2、URLDecoder.decode("%FE%FF%99%96","unicode")这个是方法是将%FE%FF%99%96按照unicode编码集进行解码。
3、不知道你是用什么方法将“首”字安unicode编译成“\\u9996”?!
unicode还分很多种 ~~~
String s="\\\\u"+String.valueOf((int)(char)'首'); 试试
String s1="9996"); //去掉\\u
System.out.println((char)(byte)Integer.parseInt(s1));