在java中怎么样把字符串(包括中文和英文)变成Unicode码?
Unicode码又怎么变回字符串?下面的方法好象不行!!请高手指教!
public static String A2U(String Atext){
    String Utext=java.net.URLEncoder.encode(Atext);
return Utext;
}
public static String U2A(String Utext){
    String Atext=java.net.URLDecoder.decode(Utext);
returnAtext;
}

解决方案 »

  1.   

    //字符串转换为Unicode public class Asc2Unicode { 
    private StringBuffer ch; 

    private StringBuffer tch; 

    Asc2Unicode(StringBuffer s)

    ch = s; 
    if (ch.length() > 0) 
    tch = new StringBuffer(1000); 


    void transform() 

    if (ch.length() < 1) 
    return; 
    for (int i = 0; i < ch.length(); i++) { 
    (new Integer((int) ch.charAt(0))).toString(); 
    tch.append(new StringBuffer("\\u00")); 
    tch.append(new StringBuffer(new String(Integer.toHexString((int) ch.charAt(i))))); 

    }  StringBuffer getStr()

    return tch; 


    public static void main(String[] argv) { 
    Asc2Unicode au = new Asc2Unicode(new StringBuffer(new String( 
    "public class EggHello{" 
    + " public static void main(String[] argv){" 
    + "System.out.println(\"Hello,World\");" + "}" + "}" 

    )); 
    au.transform(); 
    System.out.println(au.getStr()); 


    运行如下:
    F:\>javac Asc2Unicode.javaF:\>java Asc2Unicode
    \u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0063\u006c\u0061\u0073\u0073\u0020\u
    0045\u0067\u0067\u0048\u0065\u006c\u006c\u006f\u007b\u0020\u0070\u0075\u0062\u00
    6c\u0069\u0063\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0076\u006f\u0069
    \u0064\u0020\u006d\u0061\u0069\u006e\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u
    005b\u005d\u0020\u0061\u0072\u0067\u0076\u0029\u007b\u0053\u0079\u0073\u0074\u00
    65\u006d\u002e\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e
    \u0028\u0022\u0048\u0065\u006c\u006c\u006f\u002c\u0057\u006f\u0072\u006c\u0064\u
    0022\u0029\u003b\u007d\u007d