⌘/Ctrl K
编码/解码url格式的字符串
Web编码为url编码格式(也称为“百分比编码”)或从中解码。
Encode
Decode
使用说明
在 URL 中,某些字符有特殊含义(例如空格、&、=、?、#),而中文、表情等非 ASCII 字符也需要以百分号编码(percent-encoding)的形式安全传输。这个 URL 编码/解码工具用于把“人类可读”的字符串转换成 URL 可安全承载的形式,或把已经编码的参数还原为可读文本。常见场景包括:把搜索关键字、回调地址、JSON 片段放入 querystring;排查接口中参数被截断、被错误分隔或出现乱码的问题;处理从日志/浏览器地址栏复制出来的已编码链接。需要注意:编码的粒度应与使用位置匹配——编码 query 参数时不要把整个 URL 结构一起编码,否则可能把“/”、“?”等结构字符也编码掉。
示例
示例 1:编码中文参数
输入:keyword=你好 世界 输出:keyword%3D%E4%BD%A0%E5%A5%BD%20%E4%B8%96%E7%95%8C
示例 2:解码已编码链接片段
输入:https%3A%2F%2Fexample.com%2Fcallback%3Fa%3D1%26b%3D2 输出:https://example.com/callback?a=1&b=2
示例 3:排查参数被截断
当参数里含有 & 或 = 时,先对参数值做 URL 编码,再拼接到 URL,可以避免被当作分隔符解析。
常见问题(FAQ)
Q:URL 编码和 Base64 应该用哪个?
A:放在 URL 参数里通常优先 URL 编码;Base64 更适合做“内容打包”,但包含 +/ 可能需要再做 URL 编码或使用 URL-safe Base64。
Q:为什么空格有时是 %20,有时是 +?
A:在 application/x-www-form-urlencoded 规则里空格可能用 + 表示;而标准 percent-encoding 通常用 %20。遇到 + 时可以按表单规则还原。
Q:应该编码整个 URL 还是只编码参数?
A:多数情况下只编码参数值(value)。把整个 URL 一起编码会破坏结构(比如把 ? 和 / 也编码),导致链接不可用。