当前位置: 代码迷 >> J2SE >> String型变量保存了unicode编码,怎么把它输出成汉字
  详细解决方案

String型变量保存了unicode编码,怎么把它输出成汉字

热度:256   发布时间:2016-04-23 20:20:28.0
String型变量保存了unicode编码,如何把它输出成汉字?
public static void main(String[] args) {
String s1="90D1";
String s2="\u90D1";
String s3="\\u"+s1;
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
}

结果是90D1、郑、\u90D1
现在我获得了一些unicode码存在String当中,如String s=“90d1”;,请问我该怎么才能把它输出为汉字啊?
------解决方案--------------------
public class Test35 {
public static void main(String[] args) {
String s1="90D1";
String s2="\u90D1";
String s3="\\u"+s1;
System.out.println(s1);
System.out.println(s2);
System.out.println(convert(s3));
}

public static String convert(String utfString){
StringBuilder sb = new StringBuilder();
int i = -1;
int pos = 0;

while((i=utfString.indexOf("\\u", pos)) != -1){
sb.append(utfString.substring(pos, i));
if(i+5 < utfString.length()){
pos = i+6;
sb.append((char)Integer.parseInt(utfString.substring(i+2, i+6), 16));
}
}

return sb.toString();
}
}
  相关解决方案