我对自己知道关于url的编码和解码的一些进行了一下整理。

我们的例子是百度翻译的地址:

http://fanyi.baidu.com/translate#en/zh/The%20%22%3F%20argument%20(number%2030)%20is%20not%20recognized%20within%20%22ITEMDATA%22

在面对这样一串的URL地址,我们知道是协议(http)://域名(fanyi.baidu.com):端口(默认8080)/虚拟目录(translate#en/zh)/参数

通过浏览器会对URL进行解码后发送给web服务器,当服务器返回用户的请求时会对其进行编码此时呈现在浏览器上的URL就是编码后的了。这样的好处是保护用户的隐私,当然还有其他原因我了解的也不多,知道的可以留言。

decodeURIComponent():可对encodeURIComponent()函数编码的URI进行解码

decodeURI():可对 encodeURI() 函数编码过的 URI 进行解码。

注意:[2]  ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。

encodeURIComponent():可把字符串作为URI 组件进行编码。

encodeURI():可把字符串作为 URI 进行编码。

如何对URL进行解码:

谷歌浏览器右击检查-->点击console-->输入decodeURIComponent(“URL地址”)回车

例子:

decodeURIComponent(“http://fanyi.baidu.com/translate#en/zh/The%20%22%3F%20argument%20(number%2030)%20is%20not%20recognized%20within%20%22ITEMDATA%22”)

可以很明显看出与它解析出来的就是我在百度翻译页面对英文进行翻译。

参考资料:

http://blog.csdn.net/ergouge/article/details/8185219

http://www.cnblogs.com/shuiyi/p/5277233.html

https://baike.baidu.com/item/decodeURIComponent%28%29%E5%87%BD%E6%95%B0/7513726?fr=aladdin

https://baike.baidu.com/item/decodeURI()%20%E5%87%BD%E6%95%B0/7376284

https://baike.baidu.com/item/encodeURIComponent%28%29%20%E5%87%BD%E6%95%B0

https://baike.baidu.com/item/encodeURI%E5%87%BD%E6%95%B0/7325312

了解url的更多相关文章

  1. HTML URL地址解析

    通过JavaScript的location对象,可获取URL中的协议.主机名.端口.锚点.查询参数等信息. 示例 URL:http://www.akmsg.com/WebDemo/URLParsing ...

  2. URL安全的Base64编码

    Base64编码可用于在HTTP环境下传递较长的标识信息.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.此时,采用Base64编码不仅比较简短,同时也具有不可 ...

  3. Android业务组件化之URL Scheme使用

    前言: 最近公司业务发展迅速,单一的项目工程不再适合公司发展需要,所以开始推进公司APP业务组件化,很荣幸自己能够牵头做这件事,经过研究实现组件化的通信方案通过URL Scheme,所以想着现在还是在 ...

  4. ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系

    ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的.如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间 ...

  5. Node.js:path、url、querystring模块

    Path模块 该模块提供了对文件或目录路径处理的方法,使用require('path')引用. 1.获取文件路径最后部分basename 使用basename(path[,ext])方法来获取路径的最 ...

  6. angular2系列教程(十一)路由嵌套、路由生命周期、matrix URL notation

    今天我们要讲的是ng2的路由的第二部分,包括路由嵌套.路由生命周期等知识点. 例子 例子仍然是上节课的例子:

  7. MVC通过路由实现URL重写

    public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.Ro ...

  8. 【转】java通用URL接口地址调用方式GET和POST方式

    java通用URL接口地址调用方式GET和POST方式,包括建立请求和设置请求头部信息等等......... import java.io.ByteArrayOutputStream; import ...

  9. linux字符串url编码与解码

    编码的两种方式 echo '手机' | tr -d '\n' | xxd -plain | sed 's/\(..\)/%\1/g' echo '手机' |tr -d '\n' |od -An -tx ...

  10. 如何获取url中的参数并传递给iframe中的报表

    在使用报表软件时,用户系统左边一般有目录树,点击报表节点就会在右侧网页的iframe中显示出报表,同时点击的时候也会传递一些参数给网页,比如时间和用户信息等.如何使网页中的报表能够获取到传递过来的参数 ...

随机推荐

  1. [18/11/28]Java中的包(package)

    一.为何引入包? 包机制是Java中管理类的重要手段. 开发中,我们会遇到大量同名的类,通过包我们很容易对解决类重名的问题,也可以实现对类的有效管理. 包对于类,相当于文件夹对于文件的作用.(同一文件 ...

  2. Makefile的变量赋值和函数

    在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地 展开在所使用的地方.其与C/C++所不同的是,你可以在Make ...

  3. ffmpeg视频和声音

    推送视频和声音 ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="内装麦克风 ( ...

  4. o'Reill的SVG精髓(第二版)学习笔记——第二章

    在网页中使用SVG 将SVG作为图像: SVG是一种图像格式,因此可以使用与其他图像类型相同的方式包含在HTML页面中,具体可以采用两种方法:将图像包含在HTML标记的<img>元素内(当 ...

  5. java使用JSCH连接FTP(Linux服务器)上传文件到Linux服务器

    首先需要用到jsch-0.1.54.jar 包: 链接: https://pan.baidu.com/s/1kZR6MqwpCYht9Pp_D6NKQw 密码: gywx 直接上代码: package ...

  6. 移动端flex自适应方案。(px to rem)

    define(function (require, exports, module) { exports.mobileUtilMethod = function () { (function (e, ...

  7. 9.Element-ui的校验规则Rules

    Element-ui的校验规则Rules <el-form label-position="left" label-width="80px" :model ...

  8. npm ERR! code: 'EPERM' (权限问题 errro permit)

    PS C:\Users\user\Desktop\test\my-project> npm run iview --save npm ERR! missing script: iview npm ...

  9. DbUtils: JDBC Utility Component Examples翻译

    DbUtils:JDBC实用组件实例 这一页提供了一些展示如何使用DbUtils的示例. 基本用法 DbUtils是一个非常小的类库,因此浏览完所有类的javadoc不会花费很长时间.DbUtils的 ...

  10. 关于Navicat连接MySQL 报 Authentication plugin 'caching_sha2_password' cannot be loaded

    报错原因: 报这个错是因为MySQL8使用了 caching_sha2_password 加密方式而之前MySQL使用的是 mysql_native_password 加密方式,而你的Navicat不 ...