• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    utf-8编码转换成gb2312
    [code]script>  
    function  chinesefromutf8url(strutf8)    
    {  
               var  bstr  =  "";  
               var  noffset  =  0; 
     //  processing  point  on  strutf8               
               if(  strutf8  ==  ""  )  
                   return  "";                 
               strutf8  =  strutf8.tolowercase();  
               noffset  =  strutf8.indexof("%e");  
               if(  noffset  ==  -1  )  
                   return  strutf8;  

               while(  noffset  !=  -1  )  
               {  
                   bstr  +=  strutf8.substr(0,  noffset);  
                   strutf8  =  strutf8.substr(noffset,  strutf8.length  -  noffset);  
                   if(  strutf8  ==  ""    ¦  ¦  strutf8.length    9  )      //  bad  string  
                       return  bstr;  

                   bstr  +=  utf8codetochinesechar(strutf8.substr(0,  9));  
                   strutf8  =  strutf8.substr(9,  strutf8.length  -  9);  
                   noffset  =  strutf8.indexof("%e");  
               }  

               return  bstr  +  strutf8;  
    }  

    function  unicodefromutf8(strutf8)    
    {  
               var  bstr  =  "";  
               var  ntotalchars  =  strutf8.length;            //  total  chars  to  be  processed.  
               var  noffset  =  0;                                                            //  processing  point  on  strutf8  
               var  nremainingbytes  =  ntotalchars;            //  how  many  bytes  left  to  be  converted  
               var  noutputposition  =  0;  
               var  icode,  icode1,  icode2;                                    //  the  value  of  the  unicode.  

               while  (noffset    ntotalchars)  
               {  
                           icode  =  strutf8.charcodeat(noffset);  
                           if  ((icode    0x80)  ==  0)                                    //  1  byte.  
                           {  
                                       if  (  nremainingbytes    1  )                        //  not  enough  data  
                                                   break;  

                                       bstr  +=  string.fromcharcode(icode    0x7f);  
                                       noffset  ++;  
                                       nremainingbytes  -=  1;  
                           }  
                           else  if  ((icode    0xe0)  ==  0xc0)            //  2  bytes  
                           {  
                                       icode1  =    strutf8.charcodeat(noffset  +  1);  
                                       if  (  nremainingbytes    2    ¦  ¦                                    //  not  enough  data  
                                                     (icode1    0xc0)  !=  0x80  )                        //  invalid  pattern  
                                       {  
                                                   break;  
                                       }  

                                       bstr  +=  string.fromcharcode(((icode    0x3f)    6)    ¦  (              icode1    0x3f));  
                                       noffset  +=  2;  
                                       nremainingbytes  -=  2;  
                           }  
                           else  if  ((icode    0xf0)  ==  0xe0)            //  3  bytes  
                           {  
                                       icode1  =    strutf8.charcodeat(noffset  +  1);  
                                       icode2  =    strutf8.charcodeat(noffset  +  2);  
                                       if  (  nremainingbytes    3    ¦  ¦                                    //  not  enough  data  
                                                     (icode1    0xc0)  !=  0x80    ¦  ¦                        //  invalid  pattern  
                                                     (icode2    0xc0)  !=  0x80  )  
                                       {  
                                                   break;  
                                       }  

                                       bstr  +=  string.fromcharcode(((icode    0x0f)    12)    ¦    
                                                               ((icode1    0x3f)      6)    ¦  
                                                               (icode2    0x3f));  
                                       noffset  +=  3;  
                                       nremainingbytes  -=  3;  
                           }  
                           else                                                                                                //  4  or  more  bytes  --  unsupported  
                                       break;  
               }  

               if  (nremainingbytes  !=  0)  
               {  
                           //  bad  utf8  string.  
                           return  "";  
               }  

               return  bstr;  
    }  

    function  utf8codetochinesechar(strutf8)  
    {  
       var  icode,  icode1,  icode2;  
       icode  =  parseint("0x"  +  strutf8.substr(1,  2));  
       icode1  =  parseint("0x"  +  strutf8.substr(4,  2));  
       icode2  =  parseint("0x"  +  strutf8.substr(7,  2));  

       return  string.fromcharcode(((icode    0x0f)    12)    ¦    
                                                               ((icode1    0x3f)      6)    ¦  
                                                               (icode2    0x3f));  
    }  
    alert(chinesefromutf8url("%e6%b5%8b%e8%af%95"))  
    /script>[code]
    您可能感兴趣的文章:
    • 将字符串转换成gb2312或者utf-8编码的参数(js版)
    • php实现utf-8和GB2312编码相互转换函数代码
    • UTF-8 GBK UTF8 GB2312 之间的区别和关系介绍
    • PHP字符编码问题之GB2312 VS UTF-8解决方法
    • VBS实现GB2312,UTF-8,Unicode,BIG5编码转换工具
    • PHP 解决utf-8和gb2312编码转换问题
    • unicode utf-8 gb18030 gb2312 gbk各种编码对比
    • ASP中Utf-8与Gb2312编码转换乱码问题的解决方法 页面编码声明
    • MSSQL转MYSQL,gb2312转utf-8无乱码解决方法
    • PHP iconv 解决utf-8和gb2312编码转换问题
    • ASP UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)
    • 用VBS实现的批量gb2312转utf-8,支持拖动
    • 用javascript实现gb2312转utf-8的脚本
    • [转]ASP实现关键词获取(各搜索引擎,GB2312及UTF-8)
    • UTF-8转GB2312函数
    • 将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)
    上一篇:UTF-8编码第1/2页
    下一篇:Utf-8和Gb2312乱码问题的终结
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    utf-8编码转换成gb2312 utf-8,编码,转,换成,gb2312,