Unicode编码转中文

来源:互联网 发布:淘宝美工助理是干嘛的 编辑:程序博客网 时间:2024/04/29 10:58
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();               }     }
0 0
原创粉丝点击