java 怎么把unicode转中文

String str="\u4e0a\u6d77" 怎么把str转成中文?

[code="java"]
/**

043 * unicode 转换成 中文

044 * @author fanhui

045 * 2007-3-15

046 * @param theString

047 * @return

048 */

049 public static String decodeUnicode(String theString) {

050 char aChar;

051 int len = theString.length();

052 StringBuffer outBuffer = new StringBuffer(len);

053 for (int x = 0; x < len;) {

054 aChar = theString.charAt(x++);

055 if (aChar == '\') {

056 aChar = theString.charAt(x++);

057 if (aChar == 'u') {

058 // Read the xxxx

059 int value = 0;

060 for (int i = 0; i < 4; i++) {

061 aChar = theString.charAt(x++);

062 switch (aChar) {

063 case '0':

064 case '1':

065 case '2':

066 case '3':

067 case '4':

068 case '5':

      case '6':  
       case '7':  
       case '8':  
       case '9':  
        value = (value << 4) + aChar - '0';  
        break;  
       case 'a':  
       case 'b':  
       case 'c':  
       case 'd':  
       case 'e':  
       case 'f':  
        value = (value << 4) + 10 + aChar - 'a';  
       break;  
       case 'A':  
       case 'B':  
       case 'C':  
       case 'D':  
       case 'E':  
       case 'F':  
        value = (value << 4) + 10 + aChar - 'A';  
        break;  
       default:  
        throw new IllegalArgumentException(  
          "Malformed   \\uxxxx   encoding.");  
       }  

     }  
      outBuffer.append((char) value);  
     } else {  
      if (aChar == 't')  
       aChar = '\t';  
      else if (aChar == 'r')  
       aChar = '\r';  

      else if (aChar == 'n')  

       aChar = '\n';  

      else if (aChar == 'f')  

       aChar = '\f';  

      outBuffer.append(aChar);  

     }  

    } else 

    outBuffer.append(aChar);  

   }  

   return outBuffer.toString();  

  }  

[/code]

Unicode中就包含中文啊……

你是这个意思?
String str="\u4e0a\u6d77";
System.out.println(str);

String str="\u4e0a\u6d77";
str = new String(str.getBytes("Unicode"),"UTF-16");

在 Java 中直接使用Unicode 转码时会按照UTF-16LE 的方式拆分,并加上 BOM。