Unicode编码转中文

import java.io.UnsupportedEncodingException;

public class fanyi {
    public static void main(String[] args) {
        String one = "\u82f9\u679c";
        String name = null;
        name = decodeUnicode(one);
        System.out.println(name);
    }


    public static String decodeUnicode(String theString) {      

        char aChar;      

         int len = theString.length();      

        StringBuffer outBuffer = new StringBuffer(len);      

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

         aChar = theString.charAt(x++);      

         if (aChar == '\\') {      

          aChar = theString.charAt(x++);      

          if (aChar == 'u') {      

           // Read the xxxx 

           int value = 0;      

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

            aChar = theString.charAt(x++);      

            switch (aChar) {      

            case '0':      

            case '1':      

            case '2':      

            case '3':      

           case '4':      

            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();      

         }     
}
点赞