URL 编码/解码工具

输入

未选择文件

结果

汽配快车道 - 外贸企业数字化解决方案

客户开发

智能匹配全球买家,精准定位潜在客户,让您的产品快速触达目标市场

订单转化

一站式订单管理系统,提高询盘转化率,让您的外贸业务流程更高效

团队管理

多维度业绩分析,实时协作沟通,助力外贸团队提升整体业绩

助力汽配企业出海,打造全球营销新格局

免费体验

URL 编解码知识

什么是 URL 编解码?

URL 编码是将字符转换为可在 URL 中安全传输的格式的过程。由于 URL 只能使用 ASCII 字符集中的一部分字符,因此需要将其他字符(如中文、特殊符号等)转换为特定格式。URL 编码将不安全的字符转换为百分号(%)后跟两位十六进制数。

例如,空格会被编码为 %20,汉字"中国"会被编码为 %E4%B8%AD%E5%9B%BD。

为什么需要 URL 编解码?

  • 安全传输数据:确保包含特殊字符的数据能够在 URL 中安全传输
  • 避免歧义:某些字符在 URL 中有特殊含义(如 ?、&、= 等),编码可避免解析错误
  • 支持多语言:使 URL 能够包含非 ASCII 字符,如中文、日文等
  • 处理空格和特殊字符:URL 不允许包含空格和某些特殊字符,编码可解决此问题

URL 编解码的标准和规范

RFC 3986:定义了 URI(统一资源标识符)的通用语法,包括 URL 编码规则

百分号编码:使用 % 后跟两位十六进制数表示字符的 UTF-8 编码

保留字符:某些字符在 URL 中有特殊用途,如果要表示字符本身,需要编码:

! * ' ( ) ; : @ & = + $ , / ? # [ ]

非保留字符:这些字符可以不编码:

A-Z a-z 0-9 - _ . ~

常见 URL 编解码 API

encodeURIComponent() / decodeURIComponent()

用途:编码/解码 URL 参数值

特点:编码所有特殊字符,包括:, / ? : @ & = + $ #

使用场景:处理 URL 参数值、查询字符串、包含特殊字符的数据


// 编码示例
const param = "你好 world!";
const encoded = encodeURIComponent(param);
// 结果: %E4%BD%A0%E5%A5%BD%20world%21

// 解码示例
const decoded = decodeURIComponent("%E4%BD%A0%E5%A5%BD%20world%21");
// 结果: "你好 world!"

encodeURI() / decodeURI()

用途:编码/解码完整 URL

特点:不编码 URL 中的功能字符,如:, / ? : @ & = + $ #

使用场景:处理完整 URL,保留 URL 结构


// 编码示例
const url = "https://51autoparts.cn/search?q=你好 world";
const encoded = encodeURI(url);
// 结果: https://51autoparts.cn/search?q=%E4%BD%A0%E5%A5%BD%20world

// 解码示例
const decoded = decodeURI("https://51autoparts.cn/search?q=%E4%BD%A0%E5%A5%BD%20world");
// 结果: "https://51autoparts.cn/search?q=你好 world"


主要区别

函数 编码范围 适用场景
encodeURIComponent() 编码所有特殊字符,包括 URL 分隔符 URL 参数值、查询字符串
encodeURI() 不编码 URL 功能字符(如 /、:、?、&) 完整 URL

最佳实践

  • 对 URL 参数值使用 encodeURIComponent()
  • 对完整 URL 使用 encodeURI()
  • 在处理表单数据时,使用 encodeURIComponent() 编码每个参数值
  • 在 API 调用中,确保查询参数正确编码以避免请求错误