加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php base64怎样进行URL字符串编码和解码?

发布时间:2022-07-18 14:25:24 所属栏目:PHP教程 来源:互联网
导读:Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成+,/,=这些被URL进行转码的特殊字符,导致两方面数据不一致。 我们可以在发送前将+,/,=替换成URL不会转码的字符,接收到数据后,再将这些字符替换回去,再进行解码。 一、URL
  Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,导致两方面数据不一致。
 
  我们可以在发送前将“+”,“/”,“=”替换成URL不会转码的字符,接收到数据后,再将这些字符替换回去,再进行解码。

  一、URL安全的字符串解码:
 
  function urlsafe_b64decode($string) {
  
     $data = str_replace(array('-','_'),array('+','/'),$string);
  
     $mod4 = strlen($data) % 4;
  
     if ($mod4) {
  
         $data .= substr('====', $mod4);
  
     }
  
     return base64_decode($data);
  
  }。

  二、URL安全的字符串编码:
 
  function urlsafe_b64encode($string) {
  
     $data = base64_encode($string);
  
     $data = str_replace(array('+','/','='),array('-','_',''),$data);
  
     return $data;
  
  }。

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!