如何逐步编码与解码 URL
快速解答
要进行 URL 编码:将文本粘贴到 URL 编码器中,百分比编码的字符串会立即出现。解码:将编码后的URL粘贴到URL解码器中,就会出现原始文本。所有处理均使用encodeURIComponent() 和decodeURIComponent() 在浏览器本地进行。
介绍
URL 编码(也称为百分比编码)将 URL 中的特殊字符转换为可安全通过 Internet 传输的格式。空格、引号和非 ASCII 字母等字符在 URLs 中具有特殊含义,或者根本不允许使用。 URL 编码将它们替换为百分号后跟两个十六进制数字(例如,空格变为 %20)。本指南向您展示如何在浏览器中对 URLs 进行编码和解码。
步步
-
打开URL编码器/解码器工具
转到URL编码器和解码器工具页面。该工具有两种模式:编码和解码。
-
输入您的文字或URL
在编码模式下,粘贴要编码的文本或 URL。当使用包含空格、特殊字符或非 ASCII 文本的值构建查询字符串时,这非常有用。
-
读取编码输出
该工具使用encodeURIComponent() 对您的输入进行编码。空格变为 %20,& 等特殊字符变为 %26,非 ASCII 字符先进行 UTF-8 编码,然后再进行百分比编码。结果立即出现。
-
复制编码的 URL
单击“复制”以复制编码的字符串。在 API 请求、HTML href 属性或 JavaScript fetch() 调用中使用它。
-
解码编码的 URL
切换到解码模式并粘贴百分比编码的字符串。该工具使用decodeURIComponent()对其进行解码并显示原始文本。无效的转义序列(如 %ZZ)会产生错误。
示例
使用空格对查询字符串值进行编码
输入: hello world
输出: hello%20world
使用特殊字符对 URL 进行编码
输入: https://example.com/search?q=foo&bar=baz
输出: https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dfoo%26bar%3Dbaz
对非 ASCII 文本进行编码
输入: café
输出: caf%C3%A9
解码百分比编码的 URL
输入: hello%20world%20%26%20goodbye
输出: 你好世界&再见
常见问题
- 当只有查询参数值需要编码时,对整个 URL 进行编码 — 编码值,而不是结构 (://?&=)。
- 双重编码 - 如果 URL 已经编码,再次编码会产生 %2520 而不是 %20。如果不确定,请先解码。
- 使用encodeURI() 与encodeURIComponent() —encodeURI() 保留URL 结构字符(:/?&=),encodeURIComponent() 对它们进行编码。使用后者作为查询参数值。
- 解码中的无效转义序列 —%ZZ 或 %2 不是有效的百分比编码,将引发错误。
提示
- 始终对可能包含空格、特殊字符或用户输入的查询参数值进行编码,以防止 URL 注入。
- 对查询参数值使用encodeURIComponent(),对只需要编码不安全字符的完整URLs使用encodeURI()。
- URL 编码不是加密——任何人都可以解码它。切勿使用它来隐藏敏感数据。
- 使用我们的 URL 编码器和解码器工具在浏览器中进行即时、私密的处理。