url加密解密,主要用于中文
中文 -> GB2312的Encode ->%D6%D0%CE%C4
中文 -> UTF-8 的Encode -> %E4%B8%AD%E6%96%87
PHP
urlencode 编码
urldecode 解码
除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。
rawurlencode 编码
rawurldecode 解码
urlencode和rawurlencode的区别:
urlencode 将空格则编码为加号(+)
rawurlencode 将空格则编码为加号(%20)
javascript
encodeURI 编码
decodeURI 解码
encodeURI 不对下列字符进行编码:“:”、“/”、“;”、“?”、“@”等特殊字符。
encodeURIComponent 编码
decodeURIComponent 解码
实例:
functionparseurl($url="")
{
$url = rawurlencode(mb_convert_encoding($url, "gb2312","utf-8"));
$a = array("%3A", "%2F", "%40");
$b = array(":", "/", "@");
$url = str_replace($a, $b, $url);
return $url;
}
$url="ftp://ud03:password@ud03.kinoko.name/中文/中文.rar";
echo parseurl($url);
//ftp://ud03:password@ud03.kinoko.name/%D6%D0%CE%C4/%D6%D0%CE%C4.rar