编码在你输入时即时运行并保留在设备上 - 文本不会上传,因此适合处理令牌、重定向URI和私有查询字符串。对于单个查询值或路径片段选择Component,当输入已经是含非ASCII文本的完整URL时选择Full URL,HTML表单提交时空格编码为+则选择Form。
URL编码与解码
全程在浏览器中运行,无需上传,无需注册。
什么是URL编码?
URL编码(也称为百分比编码)将URL中不安全的字符 - 空格、重音符号、表情符号、和号 - 改写为`%`加上其UTF-8字节值的形式。本工具在浏览器中将文本编码为URL安全格式并解码还原,提供三种模式:单个值、完整URL或HTML表单查询字符串。
使用方法
- 1选择方向. 选择编码将文本转换为URL安全格式,或选择解码将百分比编码的文本还原为原始文本。
- 2选择模式. Component对单个值进行编码(最常见情况),Full URL保留URL结构,Form模式将空格编码为+。
- 3粘贴输入内容. 在输入框中键入或粘贴内容 - 结果会实时显示在旁边的面板中。
- 4复制结果. 复制输出并粘贴到需要的地方。无效的百分比转义会显示清晰的提示信息,而不是乱码。
适用人群
- 构建查询字符串 - 将
cafe & co这样的名称转换为caf%C3%A9%20%26%20co,使其在URL中安全传输。 - 读取服务器日志 - 粘贴请求行并解码,查看可读的查询和路径内容。
- OAuth与重定向 - 对
redirect_uri或state值进行编码,使其通过提供商时保持完整。 - HTML表单数据 - 解码以
+表示空格的application/x-www-form-urlencoded请求体。
常见问题
这个URL编码工具免费吗?
是的 - 完全免费,无需注册,无使用限制。编码和解码均在浏览器中运行。
我的数据会上传到任何地方吗?
不会。你的文本在浏览器中本地处理,不会发送到服务器,因此适合处理令牌、OAuth重定向值和私有查询字符串。
Component、Full URL和Form模式有什么区别?
Component(encodeURIComponent)对单个查询值或路径片段进行编码 - 也会对<code>& = ? /</code>进行百分比编码。Full URL(encodeURI)保留这些结构字符不变,适合处理完整URL。Form与Component类似,但空格变为<code>+</code>而非<code>%20</code> - 即HTML的<code>application/x-www-form-urlencoded</code>规则。
支持表情符号、重音字符和非拉丁文字吗?
支持。ASCII以外的字符会编码为其UTF-8字节 - 带重音的字母变为<code>%C3%A9</code>,<code>🌍</code>变为<code>%F0%9F%8C%8D</code> - 并能解码还原为原始文本。
为什么空格有时是%20,有时是+?
<code>%20</code>是空格的通用百分比编码。加号形式(<code>+</code>)仅在<code>application/x-www-form-urlencoded</code>数据内使用 - 即HTML表单POST的请求体或表单提交的查询字符串。这些情况使用Form模式;其他情况使用Component或Full URL。
为什么出现「无效的URL编码」?
输入中包含后面没有两个十六进制数字的<code>%</code>(例如<code>%G1</code>或末尾的<code>%</code>),或者百分比字节不构成有效的UTF-8。修复损坏的序列或重新粘贴原始编码字符串。
可以对已编码的字符串再次编码吗?
可以,但输入中每个<code>%</code>都会变为<code>%25</code>,导致结果被双重编码。如果输入已经是百分比编码,请先解码 - 或使用解码方向。