本文介绍的内容实现对字符串进行编码和解码,并可在地址栏传递使用。
本方法使用的是替换字符,将/和+分别替换成-和(并将最后的等号转换成一个数字,代表等号出现的次数。
<?php
function base64_en($str){
$result = base64_encode($str);
$result = str_replace("/","-",$result);
$result = str_replace("+","(",$result);
$i=0;
while(substr($result,strlen($result)-1)=="="){
$result = substr($result,0,strlen($result)-1);
$i++;
}
return $result . $i;
}
function base64_de($str){
$result = str_replace("-","/",$str);
$result = str_replace("(","+",$result);
$last = intval(substr($result,strlen($result)-1));
$normal = substr($result,0,strlen($result)-1);
if($last==0){return base64_decode($normal);}
for($i=1;$i<=$last;$i++){
$normal .= "=";
}
return base64_decode($normal);
}
?>