用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

javascript unescape() escape() 字符编码解码函数

时间:2015-01-23  来源:西部数据  作者:西部数据

escape()函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

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

返回值:已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列

  1. function phpescape($str)  
  2. {  
  3.          $sublen=strlen($str);  
  4.          $retrunstring="";  
  5.          for ($i=0;$i<$sublen;$i++)  
  6.          {  
  7.                   if(ord($str[$i])>=127)  
  8.                   {  
  9.                            $tmpstring=bin2hex(iconv("gb2312","ucs-2",substr($str,$i,2)));  
  10.                            //$tmpstring=substr($tmpstring,2,2).substr($tmpstring,0,2);window下可能要打开此项  
  11.                            $retrunstring.="%u".$tmpstring;  
  12.                            $i++;  
  13.                   } else {  
  14.                            $retrunstring.="%".dechex(ord($str[$i]));  
  15.                   }  
  16.          }  
  17.          return $retrunstring;  
  18. }  

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

语法:unescape(string)参数:string 必需,描述:要解码或反转义的字符串。

返回值:string 被解码后的一个副本。

说明:该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 unicode 字符 u00xx 和 uxxxx 替换这样的字符序列进行解码。

  1. function unescape($str) {  
  2.          $str = rawurldecode($str);  
  3.          preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/u",$str,$r);  
  4.          $ar = $r[0];  
  5.          foreach($ar as $k=>$v) {  
  6.                   if(substr($v,0,2) == "%u")  
  7.                            $ar[$k] = iconv("ucs-2","gbk",pack("h4",substr($v,-4)));  
  8.                   elseif(substr($v,0,3) == "&#x")  
  9.                            $ar[$k] = iconv("ucs-2","gbk",pack("h4",substr($v,3,-1)));  
  10.                   elseif(substr($v,0,2) == "&#") {  
  11.                            $ar[$k] = iconv("ucs-2","gbk",pack("n",substr($v,2,-1)));  
  12.                   }  
  13.          }  
  14.          return join("",$ar);  

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门