我得到一个字符串里面是比如4E4C,这是一个“乌“字的Unicode码。我现在怎么处理这字符串,可以得到中文?

解决方案 »

  1.   

    网上找的,研究下public static void main(String[] args) {
        System.out.println(toUnicode("汉字aaa",true));
      }  /*
       * Converts unicodes to encoded \uxxxx and escapes
       * special characters with a preceding slash
       */
      public static String toUnicode(String theString, boolean escapeSpace) {
        int len = theString.length();
        int bufLen = len * 2;
        if (bufLen < 0) {
          bufLen = Integer.MAX_VALUE;
        }
        StringBuffer outBuffer = new StringBuffer(bufLen);    for (int x = 0; x < len; x++) {
          char aChar = theString.charAt(x);
          // Handle common case first, selecting largest block that
          // avoids the specials below
          if ( (aChar > 61) && (aChar < 127)) {
            if (aChar == '\\') {
              outBuffer.append('\\');
              outBuffer.append('\\');
              continue;
            }
            outBuffer.append(aChar);
            continue;
          }
          switch (aChar) {
            case ' ':
              if (x == 0 || escapeSpace) {
                outBuffer.append('\\');
              }
              outBuffer.append(' ');
              break;
            case '\t':
              outBuffer.append('\\');
              outBuffer.append('t');
              break;
            case '\n':
              outBuffer.append('\\');
              outBuffer.append('n');
              break;
            case '\r':
              outBuffer.append('\\');
              outBuffer.append('r');
              break;
            case '\f':
              outBuffer.append('\\');
              outBuffer.append('f');
              break;
            case '=': // Fall through
            case ':': // Fall through
            case '#': // Fall through
            case '!':
              outBuffer.append('\\');
              outBuffer.append(aChar);
              break;
            default:
              if ( (aChar < 0x0020) || (aChar > 0x007e)) {
                outBuffer.append('\\');
                outBuffer.append('u');
                outBuffer.append(toHex( (aChar >> 12) & 0xF));
                outBuffer.append(toHex( (aChar >> 8) & 0xF));
                outBuffer.append(toHex( (aChar >> 4) & 0xF));
                outBuffer.append(toHex(aChar & 0xF));
              }
              else {
                outBuffer.append(aChar);
              }
          }
        }
        return outBuffer.toString();
      }  private static char toHex(int nibble) {
        return hexDigit[ (nibble & 0xF)];
      }  private static final char[] hexDigit = {
          '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E',
          'F'
      };
    ---------------------------------------------------------------String s="中";
    int chr=(char)s.charAt(0);
    String result= "\\u" + Integer.toHexString(chr);
      

  2.   

    http://www.blogjava.net/leon/archive/2006/10/28/77846.html这个好象有你要的 看看吧
      

  3.   

    我得到一个字符串里面是比如4E4C,这是一个“乌“字的Unicode码。我现在怎么处理这字符串,可以得到中文?
    MyEclipse 的ResourceBundleEditor_v0.7.7.zip插件
    可以实现相互转换的问题是实现国际化的一个插件各国语言(包括中文)与UNICODE的相互转化