zoukankan      html  css  js  c++  java
  • urlencode 和 rawurlencode区别

    urlencode:编码 URL 字符串

           手册上是这样解释的:

                  返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。  

    rawurlencode:根据 » RFC 3986 编码指定的字符。

     

    俩个对应的解码是:urldecode,rawurldecode;

    来个例子比较好对比:     

     1 <?php
     2 header("Content-type:text/html;charset=utf-8");
     3     $str = "http://www.baidu.com?name=多多喜 ";
     4     echo rawurlencode($str);
     5     echo "<br>";
     6     echo rawurldecode($str);
     7     echo "<br>";
     8     $str1 = "http://www.baidu.com?name=多多喜 ";
     9     echo urlencode($str1);
    10     echo "<br>";
    11     echo urldecode($str1);

    结果:

      

    http%3A%2F%2Fwww.baidu.com%3Fname%3D%E5%A4%9A%E5%A4%9A%E5%96%9C%20
    
    http://www.baidu.com?name=多多喜
    
    http%3A%2F%2Fwww.baidu.com%3Fname%3D%E5%A4%9A%E5%A4%9A%E5%96%9C+
    
    http://www.baidu.com?name=多多喜 

    可以看出,就空格的差异。。urlencode  转化成 %20;rawurlencode 转换成+

  • 相关阅读:
    深入浅出java IO模型
    MySQL 最基本的SQL语法/语句
    mysql sql常用语句大全
    Mysql数据库常用操作语句大全
    python3.6.1 安装PyQt5,以及配置QTDesigner,PyUIC
    Python之文件操作:os模块
    Python之OS模块函数
    Python OS模块
    Shell编程基础
    mysqldump恢复
  • 原文地址:https://www.cnblogs.com/duoduoxi/p/5407159.html
Copyright © 2011-2022 走看看