WALUDO 工具箱
CONVERT.03 URL CODEC

URL 编解码

支持完整 URL 编码与单独参数编码两种模式,双向实时同步,输入即出结果

RAW

明文

ENC

编码后

§ 01

如何在线进行 URL 编解码

1
1

输入原始文本或编码文本

在左侧编辑器输入需要编码的原始 URL 文本,或在右侧编辑器粘贴需要解码的 URL 编码字符串。

2
2

选择编码模式

勾选“保留 URL 结构”使用 encodeURI 模式编码完整链接,或取消勾选使用 encodeURIComponent 模式编码单个参数值。

3
3

复制结果

点击复制按钮将编解码结果复制到剪贴板。支持双向操作:左侧输入自动编码到右侧,右侧输入自动解码到左侧。

§ 02

关于 URL 编解码工具

关于 URL 编解码工具

URL 编解码(又称百分号编码 / Percent-Encoding)是网络传输中的基础技术。由于 URL 在设计之初仅允许使用英文字母、数字和少数特殊符号(-_.~),当中文、空格、emoji 等字符需要出现在网址中时,就必须将其转换为 % 加两位十六进制数的格式。例如,中文字符“你好”编码后变为 %E4%BD%A0%E5%A5%BD,空格编码为 %20。

本工具提供两种编码模式。保留 URL 结构模式(encodeURI)会对完整网址进行编码,同时保留 ://、/、?、&、= 等 URL 架构字符不变。完全编码模式(encodeURIComponent)则对所有特殊字符一视同仁,适用于编码 URL 查询参数中的单个值。所有编解码运算均在浏览器本地完成,数据不会上传至任何服务器。

使用场景与工作原理

URL 编码的核心规则:安全字符(A-Z、a-z、0-9 以及 -、_、.、~)保持不变,其他字符先按 UTF-8 转为字节序列,再将每个字节表示为 %XX 格式(XX 为该字节的十六进制值)。解码则是逆过程,将 %XX 序列还原为原始字符。

常见使用场景包括:前端开发中传递包含中文或特殊字符的查询参数时,需使用 encodeURIComponent() 编码;调试 RESTful API 时手动构造符合规范的编码 URL;构建带 UTM 参数的营销链接,含中文的参数值需先编码以兼容各平台;从服务器日志或 Google Analytics 导出的 URL 往往包含编码字符,需解码为可读文本;在 HTML 邮件中嵌入含特殊字符的链接时,也必须进行 URL 编码。

§ 03

常见字符 URL 编码对照表

字符
URL 编码
说明
空格
%20
空格在 URL 中必须编码,否则会被截断
!
%21
感叹号
"
%22
双引号
#
%23
井号,用作 URL 片段标识符
$
%24
美元符号
%
%25
百分号本身也需要编码
&
%26
与号,用作 URL 参数分隔符
+
%2B
加号;在查询参数中也可用 + 表示空格
,
%2C
逗号
/
%2F
斜杠;encodeURI 会保留此字符
:
%3A
冒号
=
%3D
等号,用作键值对分隔符
?
%3F
问号,查询字符串起始符
@
%40
at 符号
你好
%E4%BD%A0%E5%A5%BD
中文字符按 UTF-8 编码后逐字节转为 %XX 格式
😊
%F0%9F%98%8A
Emoji 同样遵循 UTF-8 百分号编码规则
§ 04

常见问题

Q1什么是 URL 编码(百分号编码)?

URL 编码(也被称为百分号编码 Percent-encoding)是一种在统一资源定位符 (URL) 中嵌入特殊字符的机制。由于 URL 只能包含英文字母、数字和少数特殊符号,其他字符(如中文、空格、问号、等号等)必须被转换为 `%` 加上两位十六进制数的形式。

Q2“保留 URL 结构”选项有什么用?

它会忽略 http://、/、?、&、= 等 URL 核心架构字符,仅编码中文或空格,适合用于编码整条完整的 URL 链接。

Q3为什么解码时会提示“解析错误”?

如果输入的文本中包含不符合百分号编码规则的字符(例如单独出现一个 `%` 且后面没有紧跟两位十六进制数字,或者包含了非法的 UTF-8 序列),浏览器在解码时就会抛出错误。请检查您的字符串是否完整。

Q4我的数据会被上传吗?

不会,本工具站所有数据均在浏览器本地处理,不上传/保存任何用户数据和信息。

Q5URL 编码和 Base64 编码有什么区别?

二者目的不同。URL 编码确保 URL 中仅包含合法字符,结果为 %XX 格式的 ASCII 字符串;Base64 编码将任意二进制数据转为纯文本,常用于邮件附件和 Data URI。URL 编码结果可直接放在网址中传输,而标准 Base64 可能包含 +、/ 等需额外处理的字符。

Q6encodeURI 和 encodeURIComponent 该用哪个?

编码整个 URL 链接用 encodeURI(保留 ://、/、? 等结构字符),编码参数值用 encodeURIComponent。例如 encodeURI("https://example.com/搜索?q=你好") 保留 :// 和 ?,而 encodeURIComponent("你好") 将中文完全编码为 %E4%BD%A0%E5%A5%BD。

Q7URL 编码后字符串变长了,会影响加载速度吗?

影响极小,编码后增加的长度通常在几十到几百字节级别。但需注意浏览器和服务器对 URL 总长度有限制(通常约 2048 字符),如果原 URL 已接近此限制,编码增量可能导致请求失败。

Q8为什么空格有时编码为 %20,有时是 + 号?

这是历史原因造成的差异。在查询字符串部分(? 之后),application/x-www-form-urlencoded 规范允许使用 + 表示空格。但在 URL 的其他部分(路径、域名等),空格必须使用 %20。本工具使用 JavaScript 标准 API,空格始终编码为 %20。

✳ WALUDO TOOLBOX ✳ 浏览器原生工具集 · NO SERVER · NO DATA COLLECTION

您的文件永远不会离开您的电脑 · FILES STAY LOCAL · PRIVACY FIRST