javascript unescape() escape() 字符编码解码函数
escape()函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
语法: escape(string) 参数: string 必需, 描述: 要被转义或编码的字符串。
返回值: 已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列
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 ; }unescape() 函数可对通过 escape() 编码的字符串进行解码。
语法: unescape(string) 参数: string 必需, 描述: 要解码或反转义的字符串。
返回值: string 被解码后的一个副本。
说明: 该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 unicode 字符 u00xx 和 uxxxx 替换这样的字符序列进行解码。
function unescape( $str ) { $str = rawurldecode( $str ); preg_match_all( "/%u.{4}|&#x.{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) == "&#x" ) $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 ); }
查看更多关于javascript unescape() escape() 字符编码解码函数 - php函的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did30781