67,513
社区成员
发帖
与我相关
我的任务
分享
String s = "\\u611f\\u5192\\u4e86\\u600e\\u4e48\\u529e";
s = convertString(s);
System.out.println(s);
String convertString(String srouce) {
String s = source.replaceAll("\\u", "");
StringBuilder buf = new StringBuilder();
for (int i=0; i<s.length; i+4) {
byte[] b = new Byte[2]; //unicode的高位在前在后不知道,LZ自己修改吧
for (int j=0; j<b.length; j++) {
b[j] = Integer.valueOf(s.substring(i+2*j,i+2*j+2)).byteValue();
}
buf.append(new String(b, "UTF-16BE")); //或者UTF-16LE, 就是高位在前在后的问题
}
return buf.toString();
}