java.net.URLEncoode(“世界”,"UTF-8");

解决方案 »

  1.   

    UrlEncoder.encode("世界","UTF-8")
    前提是引入java.net.URLEncoder
      

  2.   

    String encode(String s){
            byte[] b=s.getBytes();
            StringBuffer sb=new StringBuffer("");
            for(int i=0;i<b.length;++i){
                sb.append("%").append(Integer.toHexString(b[i]).substring(6).toUpperCase()) ;
            }
            return sb.toString();
        }
      

  3.   

    抱歉上面有点笔误
    java.net.URLEncoder.encode("世界","UTF-8");
    这个肯定可以,我测试过了
      

  4.   

    好像我的结果不对
    测试了一下mu_x(阿木)的方法,答案是对的。我想应该是我的方法错了,但我也看不懂他的方法,先研究一下去。   
      

  5.   

    mu_x(阿木)的方法转换中文到Unicode码完全正确,佩服!不过还有几个问题,麻烦给解答一下:1。如果是中英文混合的,如“世界AB2@#”之类的,该如何转为Unicode码呢?2。反过来由Unicode转为中英文混合的呢?
      

  6.   

    java.net.URLEncoode好象是用于封装URL,mu_x(阿木)的正解
      

  7.   

    为什么没有人回答我的问题呢?
    问题如下所列:1。如果是中英文混合的,如“世界AB2@#”之类的,该如何转为Unicode码呢?2。反过来由Unicode转为中英文混合的呢?苦苦等待中……
      

  8.   

    回答第一个问题!
    class Encode{
        public static void main(String[] args){
            System.out.println(Encode.encode("世界aaa"));
            System.out.println(Encode.encode("中国人民"));
        }
        static String  encode(String s){
            byte[] b=s.getBytes();
            StringBuffer sb=new StringBuffer("");
            for(int i=0;i<b.length;++i){
                if(b[i]<0){
                    sb.append("%").append(Integer.toHexString(b[i]).substring(6).toUpperCase());
                    i++;
                    sb.append("%").append(Integer.toHexString(b[i]).substring(6).toUpperCase());
                }else{
                    sb.append("%").append(Integer.toHexString(b[i]).toUpperCase());
                }        }
            return sb.toString();
        }
    }
      

  9.   

    cuiweibing() ,后续的第一个问题完全正确。请大家看后续的第二个问题,如下:反过来由Unicode转为中英文混合的呢?怎么转?
      

  10.   

    cuiweibing() ,后续的第一个问题,按照你给出的例子,中文、英文、数字混合没有问题,但加入“!@#$%^&*”等字母后还是不行啊!