<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>Base64和URI编码解码混合使用</title> </head> <body> <script type="text/javascript"> //只能对英文进行Base64编码解码,汉字运行不显示 var str = "1369"; var encodedData = window.btoa(str); //编码 var decodedData = window.atob(encodedData); //解码 document.writeln("JS:原来的字符串:"+str+"<br>"); document.writeln("Base64编码的字符串:"+encodedData+"<br>"); document.writeln("Base64解码的字符串:"+decodedData+"<br><br>"); //encodeURIComponent() decodeURIComponent() var encodeURIComponentData = encodeURIComponent(encodedData); //编码 var decodeURIComponentData = window.atob(decodeURIComponent(encodeURIComponentData)); //解码 document.writeln("encodeURIComponent()的字符串:"+encodeURIComponentData+"<br>"); document.writeln("decodeURIComponent()的字符串:"+decodeURIComponentData+"<br><br>"); </script> <?php //只能对英文进行Base64编码解码,汉字不进行编码 $str = '1369'; $encodedData = base64_encode($str); $decodedData = base64_decode($encodedData); echo 'PHP:原来字符串:'.$str.'<br>'; echo 'Base64编码的字符串:'.$encodedData.'<br>'; echo 'Base64解码的字符串:'.$decodedData.'<br><br>'; //urlencode() urldecode() $urlencodeData = urlencode($encodedData);//编码 $urldecodeData = base64_decode(urldecode($urlencodeData));//解码 echo "urlencode的字符串:$urlencodeData<br>"; echo "urldecode的字符串:$urldecodeData"; ?> <!-- 以上,是JS Base64 和 PHP Base64对应 URI编码解码 的对应 --> </body> </html>
效果图: