URL 编码器 / 解码器
关于此工具
使用 URL 编码 对 URL 中不允许出现的字符(全角字符、空格、符号)进行编码或解码。可在 encodeURIComponent(用于 URL 的组成部分)与 encodeURI(用于完整 URL)之间切换,也可选择将空格转换为 +
。所有处理都在您的浏览器中本地完成(不会发送任何数据)。
URL 编码 / 解码
→ 对查询值或单个路径段等 URL 组件 所需的全部内容进行编码。
→ 仅编码必要部分,使现有的 完整 URL 保持不变。
—
模式差异
- encodeURIComponent 适用于 URL 的各个部分(如查询值、路径段、片段值等)。它几乎会编码所有字符,除了
-_.!~*'()
,因此:
、/
、?
、#
、&
、=
等也会被转换。 - encodeURI 应用于完整 URL;它保留在 URL 语法中具有特殊意义的字符(例如
:/?#&=,+;$
),从而保证协议和分隔符不会损坏。 - 当需要兼容表单的编码时,请启用“将空格转换为
+
”。解码时工具会把+
正常还原为空格。
// 示例: 对 "a/b?x=1 2" 进行编码
encodeURIComponent("a/b?x=1 2")
// → "a%2Fb%3Fx%3D1%202"
encodeURI("https://ex.com/a/b?x=1 2")
// → "https://ex.com/a/b?x=1%202" (:/?= 保持不变,只将空格转换为 %20)
注意事项
- URL 的部分请使用 encodeURIComponent,完整地址请使用 encodeURI。
+
在表单提交中常被视为空格(本工具在解码时会将其还原为空格)。- 编码后的长度可能会发生明显变化,尤其是多字节 UTF-8 字符。