宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应

[php]php编码解码技术

2016-10-13 00:16:48 点击量:10 标签: 收藏本文

[php]php编码解码技术

  1. <?php 
  2. /* 
  3.  *使用 PHP 解码 javascript escape() 编码过的字串为UTF-8 
  4.  *例:1 
  5.  * 
  6.  *$tem=new UnEscape(); 
  7.  *echo $tem->getUtf8("%u624B%u673A%u95E8%u6237"); 
  8.  *echo $tem->getGb2312("%u624B%u673A%u95E8%u6237"); 
  9.  */ 
  10.     function UnEscapeToUtf8($ar){ 
  11.      foreach($ar as $val){ 
  12.        $val = intval(substr($val,2),16); 
  13.        if($val < 0x7F){        // 0000-007F 
  14.           $c .chr($val); 
  15.        }elseif($val < 0x800) { // 0080-0800 
  16.           $c .chr(0xC0 | ($val / 64)); 
  17.           $c .chr(0x80 | ($val % 64)); 
  18.        }else{                // 0800-FFFF 
  19.           $c .chr(0xE0 | (($val / 64) / 64)); 
  20.           $c .chr(0x80 | (($val / 64) % 64)); 
  21.           $c .chr(0x80 | ($val % 64)); 
  22.        } 
  23.      } 
  24.      return $c; 
  25.     } 
  26.  
  27.  class UnEscape{ 
  28.     function getUtf8($value=""){ 
  29.       $text = preg_replace_callback("/%u[0-9A-Za-z]{4}/",UnEscapeToUtf8,$value); 
  30.       return urldecode($text); 
  31.     } 
  32.  
  33.     function getGb2312($value=""){ 
  34.       $text = preg_replace_callback("/%u[0-9A-Za-z]{4}/",UnEscapeToUtf8,$value); 
  35.   $obj=new Gb2312Utf8(); 
  36.       return $obj->utf8ToGb2312(urldecode($text)); 
  37.     } 
  38. ?>