将\u5f53转换为汉字?

解决方案 »

  1.   

    String str = "\u5f53";
    System.out.println("str = " + str);
      

  2.   

    String s="\\u5f53\\u5f53\\u5f53\\u5f53\\u5f53\\u5f53\\u5f53\\u5f53";
    StringBuffer str=new StringBuffer();
    String[] s1=s.split("\\\\u");
    for(int i=1;i<s1.length;i++){
    char c = (char) Integer.parseInt(s1[i],16);
    str.append(c);
    }
    System.out.print(str);
      

  3.   

    String s1 ="司法硫酸铝反对发";
    StringBuffer str=new StringBuffer();
    for(int i=0;i<s1.length();i++){
    str.append("\\u"+Integer.toHexString(s1.charAt(i)));
    }

    System.out.println(str.toString());
      

  4.   

    String s="\u5f53\u524d\u663e\u793a\u8bb0\u5f55"; //区别 
            StringBuffer str=new StringBuffer();
            String[] s1=s.split("\\u");
            for(int i=1;i<s1.length;i++){
            char c = (char) Integer.parseInt(s1[i],16);
            str.append(c);
            }
            System.out.print(str);
    //报错:Illegal Unicode escape sequence near index 2String s="\\u5f53\\u524d\\u663e\\u793a\\u8bb0\\u5f55";//区别
            StringBuffer str=new StringBuffer();
            String[] s1=s.split("\\\\u");
            for(int i=1;i<s1.length;i++){
            char c = (char) Integer.parseInt(s1[i],16);
            str.append(c);
            }
            System.out.print(str);
    这个正确,为什么?
      

  5.   

    public String changed(String s)
    {
    String re = "",sub = null;
    char c1,c2;
    for(int i=0;i<s.length()-1;i++)
    {
    c1 = s.charAt(i);
    c2 = s.charAt(i+1);
    if(c1 == '\\' && c2 =='u')
    {
    sub = s.substring(i+2,i+6);
    re = re + (char)Integer.parseInt(sub,16);
    i+=5;
    }
    else
    {
    re = re+c1;
    }
    }
    return re;
    }
    放到你的程序里直接可以用了,刚刚写的
      

  6.   

    "\" 是转意符啊
    直接写\u5f53 就已经是汉字了
    你可以
    char d='\u5f53';
    但不能
    char d='\\u5f53';