URL 编解码
URL / URI 组件的百分号编码与解码,处理中文与特殊字符。
什么是URL 编解码?
URL 编解码工具用于对 URL 或其中的参数片段做百分号编码(Percent-Encoding,即 URL Encode)与解码。编码会把空格、中文、& = ? # 等在 URL 中有特殊含义或不允许直接出现的字符,转换成 %XX 形式的十六进制表示;解码则是把 %XX 还原成原始字符。 工具通常提供两种模式:encodeURIComponent 风格(编码单个参数值,会转义 & = ? / 等分隔符)和 encodeURI 风格(编码整个 URL,保留 :/?#& 等 URL 结构字符),选错模式会导致编码结果不符合预期。
为什么使用URL 编解码?
常见场景:拼接带中文参数的链接(如商品名称、搜索关键词)时需要先编码,避免链接被浏览器或服务器截断解析错误;调试接口时看到日志里的 %E4%B8%AD%E6%96%87 想知道原文是什么;分享包含特殊符号(如 &、空格)的链接前需要先转义。 与直接用浏览器地址栏输入相比,本工具能精确区分“编码整个 URL”和“只编码参数值”两种需求,避免把本该保留的 / 或 ? 也编码掉导致链接失效。
使用示例
编码搜索关键词做拼接
输入 "笔记本电脑 16寸",用 encodeURIComponent 模式编码后得到 "%E7%AC%94%E8%AE%B0%E6%9C%AC%E7%94%B5%E8%84%91%2016%E5%AF%B8",可以直接拼进 "https://example.com/search?q=编码结果" 作为参数值使用。
解码日志里的乱码参数
输入 "name%3D%E5%BC%A0%E4%B8%89%26age%3D20",解码后还原为 "name=张三&age=20",可以看出原始是两个参数被整体当作一个值编码后传递。
区分整体编码与参数编码
对完整链接 "https://a.com/查询?k=你好" 用 encodeURI 模式编码,会保留 "://" "?" "=" 等结构符号,只转义“查询”“你好”等非 ASCII 字符,得到可直接访问的合法 URL;若误用 encodeURIComponent 会把 "://" 也编码成 %3A%2F%2F,导致整个字符串不再是一个可跳转的链接。
使用提示
如果不确定该用哪种模式,记住一个原则:只编码“参数的值”用 encodeURIComponent 风格(转义更彻底);编码“整条链接”用 encodeURI 风格(保留结构符号),避免链接被破坏。
常见问题
encodeURIComponent 和 encodeURI 有什么区别?
中文会被编码成什么?
数据会上传吗?
中文会被正确编码吗?
+ 号和 %20 都表示空格吗?
和 Base64 编码是一回事吗?
解码报错或结果异常怎么办?
会把结果发送到服务器吗?
相关工具
相关教程
← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。