javascript中encodeURI和decodeURI方法使用介绍

yizhihongxing

JavaScript 中 encodeURI 和 decodeURI 方法使用介绍

在 JavaScript 中,encodeURIdecodeURI 方法可以用于编码和解码 URI,以便在 URL 中传输特殊字符或非 ASCII 字符。本文将详细介绍这两种方法的使用。

encodeURI 方法

encodeURI 可以将 URL 中除了 字母、数字、(、)、*、-、.、_、~ 以外的所有字符进行编码。

语法:

encodeURI(URI)

其中,URI 表示需要编码的文本。

示例1:

const url = 'https://www.example.com/search?keyword=你好'
const encodedUrl = encodeURI(url)
console.log(encodedUrl)
// 输出 "https://www.example.com/search?keyword=%E4%BD%A0%E5%A5%BD"

上面的示例将 https://www.example.com/search?keyword=你好 进行了编码,将其中的中文字符修改为 %E4%BD%A0%E5%A5%BD。这样,在 URL 中就可以传输中文字符了。

示例2:

const str = 'programming + is & fun'
const encodedStr = encodeURI(str)
console.log(encodedStr)
// 输出 "programming%20%2B%20is%20%26%20fun"

此示例中的字符串包含了 +& 字符,通过 encodeURI 方法进行编码后分别被转换为 %20%2B%20%20%26%20

需要注意的是,encodeURI 方法并不会将字符 # 编码为 %23,因为 # 在 URL 中有特殊的作用,表示锚点。如果需要对 # 进行编码,可以使用 encodeURIComponent 方法。

decodeURI 方法

encodeURI 方法相对的是 decodeURI 方法,可以将被编码的 URI 进行解码。

语法:

decodeURI(encodedURI)

其中,encodedURI 表示需要解码的 URI。

示例:

const encodedUrl = 'https://www.example.com/search?keyword=%E4%BD%A0%E5%A5%BD'
const decodedUrl = decodeURI(encodedUrl)
console.log(decodedUrl)
// 输出 "https://www.example.com/search?keyword=你好"

此示例将示例1中的编码后 URL 用 decodeURI 进行解码,转换为原本的中文字符。

需要注意的是,在某些情况下,被编码的 URI 可能存在不严格符合 URI 规范的字符(例如空格会被替换为 %20),在这些情况下,使用 decodeURI 方法可能会抛出错误,应当使用 decodeURIComponent 方法进行解码。

总结

encodeURIdecodeURI 是 JavaScript 中用于 URI 编码和解码的方法,可以将特殊字符或非 ASCII 字符转换为 URL 可以识别的形式。这两种方法可用于构建 URL,发送网络请求等日常开发场景中。同时,encodeURI 方法不会对 # 进行编码,需要进行编码的情况下应当使用 encodeURIComponent 方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript中encodeURI和decodeURI方法使用介绍 - Python技术站

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

相关文章

  • 正则表达式RegExp语法与用法详解

    正则表达式RegExp语法与用法详解 什么是正则表达式? 正则表达式是一种通用的字符匹配模式,可以用来进行字符串的查找替换、格式验证等操作。在许多编程语言中都具有很重要的地位。 正则表达式定义 一个正则表达式是由普通字符(例如字符 a 到 z )以及特殊字符(称为元字符)组成的文字模式。模式描述了要匹配的字符类型或顺序。 在JavaScript中,使用Reg…

    JavaScript 2023年6月10日
    00
  • Javascript aop(面向切面编程)之around(环绕)分析

    JavaScript AOP(面向切面编程)是一种可以帮助我们在不改变原有代码的前提下,在代码执行前、中、后插入新的逻辑的编程技术。其中,Around(环绕)是AOP的一种实现方式,它可以在目标方法被调用之前和之后执行自定义的方法。 下面是使用JavaScript实现Around AOP的完整攻略。 1. 定义目标方法 首先,我们需要定义一个目标方法,也就是…

    JavaScript 2023年5月27日
    00
  • 什么是cookie?js手动创建和存储cookie

    关于”什么是cookie”的讲解: Cookie指的是一种服务器发送给浏览器的小型文本文件,在浏览器端保存用户的登录状态、购物车信息等。在下次用户访问同样的网站时,浏览器会将存在本地的Cookie信息发送给服务器,服务器根据接收到的Cookie信息来进行相应的处理。 Cookie有以下特点:- Cookie由服务器生成,浏览器存储。- 每次请求时需要将Coo…

    JavaScript 2023年6月11日
    00
  • JS中let的基本用法举例

    JS中let是一种声明变量的关键字,而且它是在ES6(ECMAScript 2015)中引入的。相对于var关键字,let具有更为严格的作用域和更加灵活的用法。以下是let的几个基本用法: 1. 块级作用域 let关键字通过块级作用域,可以让我们更灵活地控制变量的作用域范围。块级作用域,指的是在代码块内声明的变量,在代码块外是不可见的。例如: functio…

    JavaScript 2023年5月28日
    00
  • json格式化/压缩工具 Chrome插件扩展版

    下面是关于“json格式化/压缩工具 Chrome插件扩展版”的详细攻略。 什么是json格式化/压缩工具 Chrome插件扩展版? JSON格式化/压缩工具是一款Chrome浏览器插件扩展。它可以将json格式的数据进行格式化或压缩,方便展示和阅读,在前端开发中有着广泛的应用。 安装和使用 步骤一:下载并安装插件 首先,我们需要在Chrome网上应用商店中…

    JavaScript 2023年5月27日
    00
  • 纯jsp实现的倒计时动态显示效果完整代码

    下面是实现纯jsp实现的倒计时动态显示效果完整代码攻略。 1. 实现原理 倒计时动态显示效果的实现原理是通过js倒计时功能实现动态效果,然后将倒计时的时间以jsonp格式传递到服务器端,服务器端通过jsp读取到jsonp数据并通过JSTL表达式解析并进行动态页面输出,从而实现了倒计时的动态效果,并将显示效果不断地随时间改变。 2. 实现步骤 创建一个html…

    JavaScript 2023年6月11日
    00
  • JavaScript与C# Windows应用程序交互方法

    JavaScript与C# Windows应用程序交互方法 本文将介绍在 Windows 应用程序中如何实现 JavaScript 与 C# 相互通信的方法,主要包括以下内容: 通过 WebView 控件实现 JavaScript 与 C# 的通信 JavaScript 调用 C# 方法示例 C# 调用 JavaScript 方法示例 实现 JavaScri…

    JavaScript 2023年5月27日
    00
  • 一个网站部署多个Google Analytics帐户

    下面我将为你详细讲解如何在一个网站上部署多个Google Analytics帐户。 1.背景介绍 Google Analytics是一款功能强大的网站分析工具,它可以帮助网站管理员了解访问者的行为、特征和兴趣,从而更好地优化网站的内容和功能。而有时候,一个网站需要针对不同的用户群体进行分析和优化,此时,我们就需要为该网站部署多个Google Analytic…

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