例如一个字符串 "123一二三abc",我想将它转化为十六进制表示出来,然后再将十六进制的字符串转化回成"123一二三abc"

解决方案 »

  1.   

    用getBytes的方法得到字节数组,然后转化成16进制,参考
    http://java.sun.com/docs/books/tutorial/i18n/text/string.htmlString original = new String("A" + "\u00ea" + "\u00f1" + 
         "\u00fc" + "C");
    try {
        byte[] utf8Bytes = original.getBytes("UTF8");
        byte[] defaultBytes = original.getBytes();    String roundTrip = new String(utf8Bytes, "UTF8");
        System.out.println("roundTrip = " + roundTrip);
        System.out.println();
        printBytes(utf8Bytes, "utf8Bytes");
        System.out.println();
        printBytes(defaultBytes, "defaultBytes");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }