php获取加密url参数乱码问题处理

    xiaoxiao2021-03-25  133

    1、base64_encode — 使用 MIME base64 对数据进行编码 为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的主体。 Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。 Base64-encoded 数据要比原始数据多占用 33% 左右的空间。 加密后字符串格式为:大小写字母、数字、“+”号、“=”号和“/”号,“=”号最多两个。 base64编码url问题(参照):

    //url base64编码 function urlsafe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); return $data; } //url base64解码 function urlsafe_b64decode($string) { $data = str_replace(array('-','_'),array('+','/'),$string); $mod4 = strlen($data) % 4; if ($mod4) { $data .= substr('====', $mod4); } return base64_decode($data); }

    2、base64_decode— 对使用 MIME base64 编码的数据进行解码 3、rawurlencode— 按照 RFC 3986 对 URL 进行编码 在 PHP 5.3.0 之前,rawurlencode 根据 » RFC 1738 来编码波浪线(~)。 字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数 4、rawurldecode— 对已编码的 URL 字符串进行解码 字符串中百分号(%)后跟两位十六进制数的序列都将被替换成原义字符。 5、urlencode— 编码 URL 字符串 此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 » RFC3896 编码 6、urldecode — 解码已编码的 URL 字符串 解码给出的已编码字符串中的任何 %##。 加号(’+’)被解码成一个空格字符。 示例:

    $str = 'xia22wd'; $str2 = 'aHFZONlN2gkONRbUKCcM5y9Y+e2UbXK70JurgX3XcSU='; //base64_encode、base64decode加解密 $base_enstr = base64_encode($str); $base_destr = base64_decode($base_enstr); //urlencode、urldecode转换字符串 $urlen_str = urlencode($str2); $urlde_str = urldecode($str2); //rawurlencode、rawurldecode转换字符串 $rawurlen_str = rawurlencode($str2); $rawurlde_str = rawurldecode($str2); //输出各函数执行结果 echo '<b>str</b>: '.$str.'<br>'; echo '<b>base64_encode</b>: '.$base_enstr.'<br>'; echo '<b>base64_decode</b>: '.$base_destr.'<br>'; echo '<b>urlencode</b>: '.$urlen_str.'<br>'; echo '<b>urldecode</b>: '.$urlde_str.'<br>'; echo '<b>rawurlencode</b>: '.$rawurlen_str.'<br>'; echo '<b>rawurldecode</b>: '.$rawurlde_str.'<br>';

    结果为:

    str: xia22wd base64_encode: eGlhMjJ3ZA== base64_decode: xia22wd urlencode: aHFZONlN2gkONRbUKCcM5y9Y+e2UbXK70JurgX3XcSU= urldecode: aHFZONlN2gkONRbUKCcM5y9Y e2UbXK70JurgX3XcSU= rawurlencode: aHFZONlN2gkONRbUKCcM5y9Y+e2UbXK70JurgX3XcSU= rawurldecode: aHFZONlN2gkONRbUKCcM5y9Y+e2UbXK70JurgX3XcSU=
    转载请注明原文地址: https://ju.6miu.com/read-14409.html

    最新回复(0)