怎么将汉字转码成百度url中的编码,如“工业技术”,转码后是“%B9%A4%D2%B5%BC%BC%CA%F5”,
“军事”,转码后是“%BE%FC%CA%C2”
一个汉字对应两个16进制数

解决方案 »

  1.   

    由%号和字母数字组成的乱码,我们可以发现它们有一些规律,即都是三个字符一组,排在最前面的肯定是百分号%。它们不是什么乱码,它们其实是UTF-8编码或者gbk(GB2312)编码,那些百分号(%)后面的数字和字母其实就是16进制数。中文的gbk(GB2312)编码如果是中文的gbk(GB2312)编码,那么它的形式应该是这样的,即一个汉字对应两组%xx,即%xx%xx中文的UTF-8编码如果是中文的UTF-8编码,那么它的形式应该是这样的,即一个汉字对应三组%xx,即%xx%xx%x下面的那个是Unicode编码 ,你转换成Unicode编码查看模式就可以看到了。 
      

  2.   

    var url="工业技术";
      url=encodeURI(url);
    alert(url);
    这是%xx%xx%x形式的,怎么转换成%xx%xx形式的
      

  3.   


    encode decode 一对儿
      

  4.   

    var url="工业技术";
      url=encodeURI(url);
    alert(url);
    这是%xx%xx%x形式的,怎么转换成%xx%xx形式的就是用这样的效果来转码的 到另一个页面也可以把%xx%xx的形式在转出中文 
      

  5.   


    <script language="javascript">
    function gb2312(key) 

      var r = ""; 
      for(var i=0;i <key.length;i++) 
      { 
          var t = key.charCodeAt(i); 
          if(t>=0x4e00 || t==0x300A || t==0x300B) //UNICODE码中文区段的第一个字:0X4E00 就是 “一”,0x300A和0x300B是《》
          { 
              try 
              { 
                execScript("ascCode=hex(asc(\""+key.charAt(i)+"\"))", "vbscript"); 
       r += ascCode.replace(/(.{2})/g, "%$1"); 
        }catch(e){} 
            } 
            else{r += escape(key.charAt(i))} 
        } 
        return r; 
    }
    var str_ZH="中国";
    var str_unicode=escape(str_ZH);
    var str_utf=encodeURIComponent(str_ZH)
    var str_gb2312=gb2312(str_ZH)
    alert("str_unicode="+str_unicode);
    alert("str_utf="+str_utf);
    alert("str_gb2312="+str_gb2312);
    </script>
      

  6.   

    java.net.URLEncoder
    java.net.URLDecoder
    APIlz可以去查一下!
     
      
      

  7.   

    啊,是script用encodeURI(url);
    encodeURI(url);用两次!