不喜欢广告? 无广告 今天

URL编码详解 为什么你的空格会变成(以及如何修复它)

更新于

URL不喜欢特殊字符。了解URL编码是什么,何时使用它,以及如何使用我们的免费工具即时编码或解码URL。

URL编码详解:为什么你的空格会变成%20(以及如何修复它)
广告 · 消除?

你是否曾经复制过带空格的URL,然后看着它神奇地变成一堆百分号和数字?这就是URL编码的作用——它是保持互联网正常运转的无名英雄。🔗

如果你曾经将链接粘贴到电子邮件中却导致其失效,或者想知道为什么你的API请求返回的是乱码,URL编码(或缺乏编码)很可能是罪魁祸首。让我们来揭开这个谜团,并告诉你如何 即时编码和解码URL.

URL编码到底是什么?

URL只能包含有限的字符集。字母、数字和少数符号可以包含在内。其他所有内容——空格、和号、问号、表情符号、非ASCII字符——都需要转换为URL可以处理的格式。

那种格式是 百分比编码。每个不安全字符都被替换为百分号,后跟其十六进制值。所以:

  • space%20
  • &%26
  • =%3D
  • ?%3F
  • @%40

没有这种编码,浏览器和服务器将不知道一个URL参数在哪里结束,另一个在哪里开始。混乱将会发生。猫狗同住。大规模恐慌。

你实际需要URL编码的时候

当你这样做的时候,你就会想对URL进行编码:

  • 构建API请求 ——带有用户输入的查询参数需要编码,否则你的请求将惨败
  • 在URL中传递数据 ——分享带有特殊字符的链接?先对它们进行编码
  • 处理表单数据 ——表单提交默认使用URL编码
  • 处理非ASCII文本 ——日语、阿拉伯语、表情符号?都需要编码

基本上,如果你将任何用户生成的内容放入URL中,请对其进行编码。你未来调试神秘400错误时的自己会感谢你。

URL编码与Base64:并非一回事

快速澄清一下,因为这会让人困惑:URL编码和Base64编码是完全不同的东西。

URL编码 只转义“不安全”字符,并保持其他所有内容可读。 Hello World 变成 Hello%20World ——仍然相当可识别。

Base64 将所有数据转换为完全不同的字母表。 Hello World 变成 SGVsbG8gV29ybGQ= ——完全不可读的乱码(至少对人类来说)。

对URL使用URL编码。当你需要将二进制数据嵌入文本时,使用Base64。很简单。💡

简单的方法:IO Tools URL编码器/解码器

当然,你可以编写JavaScript来处理这个问题(“encodeURIComponent() 是你的朋友),但当你只需要粘贴文本就能获得即时结果时,为什么还要费力呢?

我们的 URL编码器/解码器 的作用正如其名:

  • 粘贴你的文本,选择“编码”,获得URL安全的输出
  • 粘贴编码后的URL,选择“解码”,查看原始文本
  • 实时处理——无需等待,无需刷新页面
  • 在底层使用标准的JavaScript方法,因此结果可靠

无需注册。没有恼人的广告。只有一个功能完善的工具。

常见的URL编码陷阱

有几件事需要注意:

  • 双重编码 ——如果某个内容已经被编码,再次编码会变成 %20 进入 %2520。如果不确定,请先解码。
  • 加号 ——在查询字符串中, + 有时代表空格。这是来自表单提交的一个遗留问题。我们的工具可以正确处理。
  • 路径与查询编码 ——URL路径与查询参数的规则略有不同。我们的工具使用 encodeURIComponent,这在大多数情况下是最安全的选择。

去编码一些东西吧

下次当你面对一个损坏的URL或调试一个返回乱码的API时,请记住:编码可能是答案。

前往 URL编码器/解码器 并试用一下。你的百分号在等着你。🔥

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 · 消除?
广告 · 消除?
广告 · 消除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 · 消除?