当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-07-03 09:00:39 浏览: 评论:0 

Base64可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,导致两方面数据不一致。

我们可以在发送前将“+”,“/”,“=”替换成URL不会转码的字符,接收到数据后,再将这些字符替换回去,再进行解码。

一、URL安全的字符串编码:

  1. function urlsafe_b64encode($string) { 
  2.  
  3.    $data = base64_encode($string); 
  4.  
  5.    $data = str_replace(array('+','/','='),array('-','_',''),$data); 
  6.  
  7.    return $data
  8.  

二、URL安全的字符串解码:

  1. function urlsafe_b64decode($string) { 
  2.  
  3.    $data = str_replace(array('-','_'),array('+','/'),$string); 
  4.  
  5.    $mod4 = strlen($data) % 4; 
  6.  
  7.    if ($mod4) { 
  8.  
  9.        $data .= substr('===='$mod4); 
  10.  
  11.    } 
  12.  
  13.    return base64_decode($data); 
  14.  
  15. }

Tags: base64 URL字符串编码

分享到: