因为浏览器会对url进行编码,所以base64生成的一些字符不适用URL地址,需要进行处理。
这种处理,我们把它称之为经过url安全的base64
以下是php的代码示例,js同理(当然你使用uri的api处理也行)
function urlsafe_b64encode($string) {
$data = base64_encode($string);
$data = str_replace(array('+','/','='),array('-','_',''),$data);
return $data;
}
function urlsafe_b64decode($string) {
$data = str_replace(array('-','_'),array('+','/'),$string);
$mod4 = strlen($data) % 4;
if ($mod4) {
$data .= substr('====', $mod4);
}
return base64_decode($data);
}