您的位置:1010cc时时彩经典版 > 1010cc时时彩客户端 > 1010cc时时彩经典版字符编码解码函数,js中的es

1010cc时时彩经典版字符编码解码函数,js中的es

发布时间:2019-08-08 10:11编辑:1010cc时时彩客户端浏览(149)

    <?    
    function phpescape($str) 

             $sublen=strlen($str); 
             $retrunString=""; 
             for ($i=0;$i<$sublen;$i ) 
             { 
                      if(ord($str[$i])>=127) 
                      { 
                               $tmpString=bin2hex(iconv("gb2312","ucs-2",substr($str,$i,2))); 
                               //$tmpString=substr($tmpString,2,2).substr($tmpString,0,2);window下或然要张开此项 
                               $retrunString.="%u".$tmpString; 
                               $i ; 
                      } else { 
                               $retrunString.="%".dechex(ord($str[$i])); 
                      } 
             } 
             return $retrunString; 
    }  
    function unescape($str) { 
             $str = rawurldecode($str); 
             preg_match_all("/%u.{4}|.{4};|d ;|. /U",$str,$r); 
             $ar = $r[0]; 
             foreach($ar as $k=>$v) { 
                      if(substr($v,0,2) == "%u") 
                               $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4))); 
                      elseif(substr($v,0,3) == "") 
                               $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1))); 
                      elseif(substr($v,0,2) == "") { 
    1010cc时时彩经典版,                           $ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1))); 
                      } 
             } 
             return join("",$ar); 
    }    
    ?>

    接纳js对U奥迪Q5L中的汉字举行escape编码。 <a href="" onclick="window.open('product_list.php?p_sort=' escape('脚本之家'));">那样点击链接后的效时:
    引用:
    扭转了如此的成效, 很明显用PHP的urldecode()或然base64_decode()是心余力绌反解的。
    缓慢解决方法, 用PHP写二个反解函数:

    GB2312编码:

    escape() 函数可对字符串举行编码,这样就能够在装有的Computer上读取该字符串。

    您也许感兴趣的稿子:

    • php中json_encode不兼容JSON_UNESCAPED_UNICODE的化解方案
    • PHP达成Javascript中的escape及unescape函数代码分享
    • 如何选取PHP达成javascript的escape和unescape函数
    • php模拟js函数unescape的函数代码
    • escape unescape的php下的贯彻格局
    • PHP实现JS中escape与unescape的方法

    复制代码 代码如下:

    复制代码 代码如下:

    语法
    escape(string)参数 描述
    string 必需。要被转义或编码的字符串。

    function js_unescape($str){       
    $ret = '';       
    $len = strlen($str);       
    for ($i = 0; $i < $len; $i )       
    {               
    if ($str[$i] == '%' && $str[$i 1] == 'u')               
    {                       
    $val = hexdec(substr($str, $i 2, 4));                       
    if ($val < 0x7f) $ret .= chr($val);                       
    else if($val < 0x800) $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f));                        else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f));                       
    $i = 5;               
    }               
    else if ($str[$i] == '%')               
    {                       
    $ret .= urldecode(substr($str, $i, 3));                       
    $i = 2;               
    }               
    else $ret .= $str[$i];       
    }       
    return $ret;}

    function unescape($str) {
    $str = rawurldecode($str);
    preg_match_all("/%u.{4}|.{4};|d ;|. /U",$str,$r);
    $ar = $r[0];
    foreach($ar as $k=>$v) {
    if(substr($v,0,2) == "%u")
    $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
    elseif(substr($v,0,3) == "")
    $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
    elseif(substr($v,0,2) == "") {
    $ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));
    }
    }
    return join("",$ar);
    }

    返回值
    已编码的 string 的副本。在那之中一些字符被替换到了十六进制的转义体系

    小心JS编码会自动调换到为UTF-8, 所以必须实行编码调换能力获取不错的结果,不然会中文乱码。但若是运用UTF-8编码就不要这一步了。
    代码如下:print iconv('utf-8', 'gb2312', js_unescape($_REQUEST['p_sort']));
    到此大家就打响地反解了js的escape编码了。
    如下:
    别的小编找到个用PHP完结js的escape编码的函数:

    UTF8编码:

    function php教程escape($str)
    {
             $sublen=strlen($str);
             $retrunstring="";
             for ($i=0;$i<$sublen;$i )
             {
                      if(ord($str[$i])>=127)
                      {
                               $tmps教程tring=bin2hex(iconv("gb2312","ucs-2",substr($str,$i,2)));
                               //$tmpstring=substr($tmpstring,2,2).substr($tmpstring,0,2);window下恐怕要开采此项
                               $retrunstring.="%u".$tmpstring;
                               $i ;
                      } else {
                               $retrunstring.="%".dechex(ord($str[$i]));
                      }
             }
             return $retrunstring;

    复制代码 代码如下:

    复制代码 代码如下:

    unescape() 函数可对经过 escape() 编码的字符串实行解码。

    本文由1010cc时时彩经典版发布于1010cc时时彩客户端,转载请注明出处:1010cc时时彩经典版字符编码解码函数,js中的es

    关键词:

上一篇:1010cc时时彩经典版包括背景图,解决方法

下一篇:没有了