在实际开发中,我们可能会遇到路径编码解码的问题,下面总结了一下:

PHP中:

  1、urlencode(编码),urldecode(解码)

$a = urlencode('http://www.baidu.com?name=test&query=字母');
echo $a
//http%3A%2F%2Fwww.baidu.com%3Fname%3Dtest%26query%3D%E5%AD%97%E6%AF%8D

  2、rawurlencode、rawurldecode

  这个函数跟上面的大部分一模一样,就一点不同:对空格的处理,urlencode处理成'+',rawurlencode处理成'%20'

注意:编码和解码函数是成对的,用哪个函数编码,就要用它对应的解码函数解码,不能混用。

JavaScript:

  3、encodeURI 和 decodeURI

  原理:返回编码为有效的统一资源标识符 (URI) 的字符串,不会被编码的字符:! @ # $ & * ( ) = : / ; ? + '

encodeURI('http://www.baidu.com?name=test&query=百度');
//http://www.baidu.com?name=test&query=%E7%99%BE%E5%BA%A6

  4、encodeURIComponent 和 decodeURIComponent

  原理:对URL的组成部分进行个别编码,而不用于对整个URL进行编码,一般只用于路径里某个参数编码

encodeURIComponent('http://www.baidu.com?name=test&query=百度');
//http%3A%2F%2Fwww.baidu.com%3Fname%3Dtest%26query%3D%E7%99%BE%E5%BA%A6

转载于:https://www.cnblogs.com/myIvan/p/9640487.html

PHP和javascript中url编码解码详解相关推荐

  1. URL编码/解码详解

    URL编码/解码详解 当 URL 路径或者查询参数中,带有中文或者特殊字符的时候,就需要对 URL 进行编码(采用十六进制编码格式).URL 编码的原则是使用安全字符去表示那些不安全的字符. 安全字符 ...

  2. Javascript中Base64编码解码的使用实例

    Javascript为我们提供了一个简单的方法来实现字符串的Base64编码和解码,分别是window.btoa()函数和window.atob()函数. 1 var encodedStr = win ...

  3. JavaScript中DOM对象的详解

    *** JavaScript中DOM对象的详解*** DOM对象:Document Object Model,文档对象模型.也称为document(文档对象),是HTML页面当前窗体的内容,是连接JS ...

  4. php 实现setinterval,JavaScript中setInterval的使用详解

    相信很多大伙都知道JavaScript中setInterval的作用是在播放动画的时,每隔一定时间就调用函数,方法或对象,也有很多小伙伴对此也只是知道setInterval的定义.也是一知半解,今天我 ...

  5. JavaScript 文本编码解码详解笔记

    JavaScript 文本的编码解码 文本编码 文本编码方法分为批量编码和流编码. 1.批量编码 所谓批量编码,指的是JavaScript引擎会同步编码整个字符串.对于非常长的字符串,可能会花较长时间 ...

  6. 编码 data:text/html;c,javascript中Data URI使用详解

    Data URI,不是URL URL是uniform resource locator的缩写,在web中的每一个可访问资源都有一个URL地址,例如图片,HTML文件,js文件以及style sheet ...

  7. JavaScript对url编码解码

    只有 0-9[a-Z] $ - _ . + ! * ' ( ) , 以及某些保留字,才能不经过编码直接用于 URL. **比如:**搜索的中文关键字,复制网址之后再粘贴就会发现该URL已经被转码. 1 ...

  8. Javascript中的Document对象详解

    Document对象详解 document 文挡对象 - JavaScript脚本语言描述           -------------------------------------------- ...

  9. Java中文字编码问题详解

    JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后,经过极为辛苦的调试和搜索资料后终于解决,满以为自己已经掌 ...

最新文章

  1. php5.3.28安装,安装php-5.3.28 时问题
  2. 算法与数据结构(稀疏数组)
  3. Java Spring-事务管理
  4. Android 开发工具集合 - (Android Dev Tools)
  5. Invalid ADAPTORNAME specified. Type 'imaqhwinfo' for a list of available ADAPTORNAMEs. Image acquis
  6. 自适应鲁棒控制(ARC)实例推导(手写超详细)
  7. 三菱PLC开发环境搭建笔记
  8. Vue基础语法之@click、时间修饰符@click.stop与@click.prevent、按键修饰符(如@keyup.enter)
  9. 6-2 折半查找的实现 (10 分)
  10. pe版linux操作系统制作,制作Linux版PE系统
  11. 高性能计算基准测试程序(二)--MPI测试基准
  12. hdmi怎么支持2k分辨率_HDMI版本小科普及毕亚兹HDMI高清线体验
  13. Prometheus+Grafana监控
  14. 只是你没那么重要罢了
  15. 26个新鲜有魅力的自适应网站设计实例
  16. @GenericValue和@GenericGenerator详解
  17. 华为Lite OS传感框架
  18. cocos2d-x横版格斗游戏教程3
  19. Linux运维工程师招人要求,从业Linux运维工程师岗位有哪些要求?负责哪些工作?
  20. 数学1——概率与数学期望

热门文章

  1. android 蓝牙控制继电器——单片机控制端
  2. python自定义变量名有哪些_Python学习第161课——自定义变量和导出变量
  3. python manager_详解Python的Django框架中Manager方法的使用
  4. sudo修改文件夹名字_用 Python 高效智能管理文件夹
  5. OU计算机移动无法访问,配置状态尚未应用-知识库
  6. 【PAT乙】1085 PAT单位排行 (25分) map排序
  7. 开个坑,不定期更新OI段子
  8. 【NOIP2010】【codevs1069】关押罪犯(并查集补集,拆点)
  9. linux make 无法生成 .o gch,Linux--makefile的使用
  10. python语言源程序文件类型_Python语言源程序文件的文件类型是__________。