js之encodeURI、encodeURIComponent、decodeURI、decodeURIComponent

yizhihongxing

1. encodeURI与encodeURIComponent

encodeURIencodeURIComponent都是用于对 url 进行编码的方法,它们可以将字符串编码为 URI(Uniform Resource Identifier, 统一资源标示符)格式,使其具有以下特点:
- 可以在所有计算机和网络设备上使用
- 能够进行全球化字符集的支持(包括的字符范围比 escape() 更广泛)
- 其输出具有优美的可读性

下面是两个示例:

1.1 encodeURI的示例

let url = "https://www.baidu.com/s?wd=" + encodeURI("JavaScript 教程");
console.log(url);
// 输出:https://www.baidu.com/s?wd=JavaScript%20%E6%95%99%E7%A8%8B

在这个示例中,我们使用了 encodeURI 对字符串 "JavaScript 教程" 进行了编码,用于构造百度搜索的 URL。

1.2 encodeURIComponent的示例

let url = "https://www.baidu.com/s?wd=" + encodeURIComponent("JavaScript 教程");
console.log(url);
// 输出:https://www.baidu.com/s?wd=JavaScript%20%E6%95%99%E7%A8%8B

在这个示例中,我们同样是构造百度搜索的 URL,但是使用了 encodeURIComponent 进行编码。与 encodeURI 不同的是,encodeURIComponent 会对更多字符进行编码,因为它是在 URL 参数中使用的。

2. decodeURI与decodeURIComponent

decodeURIdecodeURIComponent用于解码 URL 编码后的字符串,将其转化为原来的字符串。例如,将 %20 解码为空格。

下面是两个示例:

2.1 decodeURI的示例

let str = decodeURI("https://www.baidu.com/s?wd=JavaScript%20%E6%95%99%E7%A8%8B");
console.log(str);
// 输出:https://www.baidu.com/s?wd=JavaScript 教程

在这个示例中,我们使用了 decodeURI 对字符串 "https://www.baidu.com/s?wd=JavaScript%20%E6%95%99%E7%A8%8B" 进行了解码,并得到了原来的字符串 "https://www.baidu.com/s?wd=JavaScript 教程"

2.2 decodeURIComponent的示例

let str = decodeURIComponent("https%3A%2F%2Fwww.baidu.com%2Fs%3Fwd%3DJavaScript%2520%25E6%2595%2599%25E7%25A8%258B");
console.log(str);
// 输出:https://www.baidu.com/s?wd=JavaScript 教程

在这个示例中,我们同样是将编码后的字符串解码为原来的字符串。与 decodeURI 不同的是,decodeURIComponent 对更多字符进行解码,包括 URL 参数中的特殊字符,如 %3A 表示冒号,%2F 表示斜杠。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js之encodeURI、encodeURIComponent、decodeURI、decodeURIComponent - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 正则表达式模式匹配的String方法

    正则表达式模式匹配是一种常见的字符串处理方式,可以通过String类中的方法进行实现。在Java中,使用正则表达式通过匹配字符串来实现字符串处理和分析,常用的方法包括matches()、split()、replaceAll()等。 在Java中,String类提供了matches()方法用于判断某个字符串是否与指定的正则表达式匹配。这个方法返回一个布尔值,如…

    JavaScript 2023年6月10日
    00
  • JavaScript Dom 绑定事件操作实例详解

    JavaScript Dom 绑定事件操作实例详解 什么是事件绑定? 当用户与页面交互时,如鼠标点击、鼠标滑过、键盘输入等操作,页面会自动产生相应的事件。通过 JavaScript 绑定事件,可以在用户进行相关操作时触发特定的 JavaScript 代码,并实现页面与用户的交互。 如何进行事件绑定? 事件绑定可以通过原生 JavaScript 和库/框架两种…

    JavaScript 2023年6月10日
    00
  • Javascript日期对象的dateAdd与dateDiff方法

    让我们来详细讲解“Javascript日期对象的dateAdd与dateDiff方法”的完整攻略。 什么是Javascript日期对象 Javascript内置了Date对象,用来处理日期和时间。Date对象可以表示时间戳,也可以表示当地时间,同时也支持日期格式化和日期计算。 Javascript日期对象的常见方法 getDate(): 获取日期中的天数信息…

    JavaScript 2023年5月27日
    00
  • JavaScript 中对象的深拷贝

    JavaScript 中对象的深拷贝是一个非常常见且实用的问题。对象的深拷贝是指在拷贝对象时,同时也将其内部所有子对象进行拷贝,而不仅仅是拷贝对象本身。 通常我们在进行拷贝时会用到 JSON 序列化,也可以使用递归等方式进行深拷贝。 下面将通过以下步骤来讲解对象的深拷贝: 1. 判断其类型 在进行深拷贝时,首先要判断要拷贝的对象是什么类型。其中分为两种情况:…

    JavaScript 2023年5月27日
    00
  • jQuery使用ajax跨域请求获取数据

    下面详细讲解“jQuery使用ajax跨域请求获取数据”的完整攻略。 1. 什么是跨域请求? 跨域请求指的是向一个不同域名(或者协议、端口)的服务器发起请求,这种请求是不被允许的。比如我们的web页面在访问http://www.example.com的时候,去请求http://www.baidu.com就属于跨域请求。 2. jQuery ajax 跨域请求…

    JavaScript 2023年6月11日
    00
  • js动态设置div的值下例子

    下面让我来详细讲解“js动态设置div的值”的完整攻略。 基本概念 在开始具体的实现代码之前,我们先来了解一下这个问题的基本概念。 动态设置div的值:指的是通过JavaScript脚本代码实现在网页中的某个元素(如div)中动态设置内容,而不是直接在HTML代码中写死。 实现过程 实现动态设置div的值可以分为以下两个步骤: 1. 获取div元素 在Jav…

    JavaScript 2023年6月11日
    00
  • 详解JavaScript如何优雅地实现创建多维数组

    JavaScript如何优雅地实现创建多维数组 在JavaScript中,创建多维数组可以使用嵌套的数组方式实现,但这种方式不够优雅,可以使用ES6的Array.from()方法和reduce()方法来实现创建多维数组。 使用Array.from()方法创建多维数组 Array.from()方法可以将一个类似数组或可迭代对象转化为一个真正的数组。这个方法接受…

    JavaScript 2023年5月27日
    00
  • js获取指定的cookie的具体实现

    获取指定的Cookie需要以下步骤: 获取所有Cookie:使用document.cookie属性获取当前页面所有的Cookie,它返回值是一个字符串,其中每个Cookie之间使用分号和空格分隔。 将Cookie字符串转化为对象:使用JavaScript的split()方法将Cookie字符串分割成一个个单独的键值对,再使用for循环遍历所有的键值对,并使用…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部