![](https://img.php.cn/upload/article/000/000/024/5ef9790768fcc546.jpg)
Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,导致两方面数据不一致。
我们可以在发送前将“+”,“/”,“=”替换成URL不会转码的字符,接收到数据后,再将这些字符替换回去,再进行解码。
一、URL安全的字符串编码:
function urlsafe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); return $data; }
二、URL安全的字符串解码:
function urlsafe_b64decode($string) { $data = str_replace(array('-','_'),array('+','/'),$string); $mod4 = strlen($data) % 4; if ($mod4) { $data .= substr('====', $mod4); } return base64_decode($data); }
推荐教程: 《php教程》
以上就是php base64如何进行URL字符串编码和解码?的详细内容,更多请关注php中文网其它相关文章!
![php中文网最新课程二维码](/static/images/article_wechat2021.jpg?1111)
声明:本文转载于:csdn,如有侵犯,请联系admin@php.cn删除
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论