当前位置: 首页 > news >正文

encodeURIComponent() 函数详解

encodeURIComponent() 是 js 中用于编码 URI 组件的重要函数,它能将字符串中的特殊字符转换为十六进制转义序列,确保在 URL 中安全传输。

基本功能

对字符串中所有非字母数字字符进行编码

遵循 UTF-8 编码标准

主要用于处理 URL 参数的值部分

编码规则

  • 字母数字字符:a-z、A-Z、0-9 不编码
  • 特殊保留字符-_.!~*'() 不编码
  • 其他所有字符:使用 UTF-8 编码,然后以 %XX 形式表示

常见使用场景

// 构建查询参数-------------------------------
const baseUrl = 'https://api.example.com/search';
const query = 'JavaScript & Web API';
const encodedQuery = encodeURIComponent(query);const url = `${baseUrl}?q=${encodedQuery}`;
// 结果: https://api.example.com/search?q=JavaScript%20%26%20Web%20API// 处理复杂参数--------------------------------
const user = {name: '张三',age: 30,city: 'New York'
};const params = new URLSearchParams({user: JSON.stringify(user),token: 'abc@123'
}).toString();const url = `https://api.example.com/data?${params}`;
// 结果: https://api.example.com/data?user=%7B%22name%22%3A%22%E5%BC%A0%E4%B8%89%22%2C%22age%22%3A30%2C%22city%22%3A%22New%20York%22%7D&token=abc%40123

与 encodeURI() 的区别

特性

encodeURIComponent()encodeURI()
用途编码参数值编码整个 URI
保留字符几乎编码所有特殊字符保留 :/?#[]@!$&'()*+,;=
空格处理转换为 %20转换为 %20

解码方法

使用 decodeURIComponent() 解码

const encoded = 'Hello%20World%21%20%E4%BD%A0%E5%A5%BD';
const decoded = decodeURIComponent(encoded);
// 结果: Hello World! 你好

http://www.dtcms.com/a/469700.html

相关文章:

  • 在JavaScript中,map方法使用指南
  • 手机网站好还是h5好找大学生做家教的网站
  • vue项目安装使用,npm、webpack版本问题注意
  • Arbess从入门到实战(12) - 使用Arbess+Gitee+SonarQube实现Node.js项目自动化构建部署
  • 旅游网站模板 手机网站构建
  • 单遍聚类:实时数据流聚类解决方案
  • 使用TimeSformer进行模型训练(mvp验证)
  • MES系统业务流程全面解析
  • ASE03-树叶随风晃动-02收尾
  • 有哪些网站可以免费做外销用自己电脑建网站
  • 【算法】1019.链表中的下一个更大节点--通俗讲解
  • 福州seo建站互联网营销师考试题库
  • Flutter中的动效实现方式
  • Agent 的感知-决策-行动循环实现
  • Azure托管标识完整指南:安全无密码的云身份验证
  • Azure Front Door 在中国区正式上线
  • 基础 - 正则表达式
  • 旅游网站系统网站上设置多语言怎么做
  • 第三方软件验收测试公司【如何深入理解SSL/TLS证书】
  • JavaWeb——ServletConfig
  • QwenVL - 202310版-论文阅读
  • 如何从 FastReport .NET 将报表导出为 JPEG / PNG / BMP / GIF / TIFF / EMF
  • .NET MCP Server 开发教程
  • LeetCode 124. 二叉树中的最大路径和(困难)
  • 建设南大街小学网站wordpress首页调用指定文章列表
  • 大型语言模型(LLM)基础:从原理到核心概念详解(GPT-4 / 文心一言 / 通义千问)
  • python高级03——多任务编程
  • 树模型优劣大比拼xgboost/lightgbm/RF/catboost,股价预测怎么选模型
  • 哈尔滨快速建站公司推荐营销型网站建设实战》
  • 4.3-中间件之Kafka