当前位置 : 主页 > 网络编程 > PHP >

php base64如何进行URL字符串编码和解码?

来源:互联网 收集:自由互联 发布时间:2021-08-17
Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,导致两方面数据不一致。 我们可以在发送前将“+”,“

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字符串编码和解码?的详细内容,更多请关注自由互联其它相关文章!

网友评论