无需上传、100% 本地处理、无需账户

URL 编码 / 解码工具

对 URL 中的特殊字符进行编码,或解码百分号编码的字符串。一切都留在浏览器中。

URL 编码 / 解码工具 的工作原理

URL 编码器/解码器将字符串与百分比编码(也称 URL 编码)相互转换,这是 RFC 3986 规定的在 URL 中安全包含特殊字符的格式。粘贴原始字符串进行编码,或粘贴百分比编码的字符串解码回人类可读的形式。转换完全在浏览器中使用 JavaScript 的 encodeURIComponent 和 decodeURIComponent 运行;你输入的内容不离开你的设备。

在以编程方式构建查询参数、重定向 URI 或规范链接时,URL 编码至关重要。空格变为 %20,和号变为 %26,井号变为 %23,依此类推。编码也适用于国际化域名和路径段中的非 ASCII 字符。此工具还提供 encodeURI 模式,用于编码完整 URI,同时保留「/」、「?」和「#」等结构字符。

URL 编码 / 解码工具 的分步使用说明

  1. 将你要编码或解码的文本粘贴到输入区域。
  2. 选择「编码」对文本进行百分比编码,或选择「解码」反转编码。
  3. 为查询参数值选择「encodeURIComponent」模式,或为完整 URI 选择「encodeURI」模式。
  4. 从输出区域复制结果。

常见使用场景

  • 构建搜索重定向 URL 的开发者需要对查询字符串进行百分比编码,以防止特殊字符破坏 URL 结构。
  • API 集成商在 Webhook 负载中收到百分比编码的回调 URL,需要解码以验证目标地址。
  • 内容编辑从浏览器复制包含重音字符的 URL,需要对其编码以用于 Markdown 链接。
  • QA 工程师通过在提交前编码「<」、「>」和「&」等边界字符来测试输入验证端点。

常见问题

encodeURIComponent 和 encodeURI 有什么区别?

encodeURIComponent 对除字母、数字和字符 - _ . ! ~ * ' ( ) 以外的所有内容进行编码。它用于编码各个组件,如查询参数值。encodeURI 保留结构性 URI 字符(: / ? # [ ] @ ! $ & ' ( ) * + , ; =)不编码,因为它假设输入是完整的 URI。对值使用 encodeURIComponent,对完整 URL 使用 encodeURI。

我在这里粘贴的文本会传输到任何服务器吗?

不会。编码和解码调用 JavaScript 内置的 encodeURIComponent 和 decodeURIComponent 函数,这些函数完全在浏览器的 JavaScript 引擎中运行。你在这里输入的内容不会被发送到任何地方。

为什么空格有时变成「+」而不是「%20」?

空格的「+」表示法来自 HTML 表单提交中使用的较旧的 application/x-www-form-urlencoded 格式,与 RFC 3986 百分比编码不同。此工具使用严格的 RFC 3986 百分比编码,因此空格变为 %20。如果你的目标系统期望「+」表示空格,你需要在编码后手动将 %20 替换为「+」。

可以一次编码包含查询字符串的完整 URL 吗?

可以,使用「encodeURI」模式。该模式在编码出现在段或参数值中的非 ASCII 和保留字符时,保留「/」、「?」、「=」、「&」、「#」和其他 URL 结构字符。仅对单个参数值使用「encodeURIComponent」,而不是完整 URL。

此工具处理 Unicode 字符和表情符号吗?

处理。JavaScript 的 encodeURIComponent 首先将字符转换为其 UTF-8 字节序列,然后对每个字节进行百分比编码。「竖起大拇指」等表情符号编码为多字节序列,如 %F0%9F%91%8D。解码正确地反转该过程。