URL 编解码
encodeURIComponent 与 encodeURI 双模式,中文链接一键转换。
使用说明
这个工具解决什么问题
把中文塞进链接就变成一长串 %E4%B8%AD,想看懂要解码;把参数拼进 URL 报错,是因为 & 和 = 没有转义。这个工具双向覆盖:编码时可选「参数值」与「整条链接」两种口径,避免把 URL 结构一起转掉的经典错误;解码时自动识别并还原中文与特殊字符,残缺输入有明确的中文诊断。
核心能力
双模式编码:component(全转义)与 full(保留结构)按场景选择。智能解码:百分号序列还原,兼容 + 号空格约定。中文全支持:UTF-8 口径,中文链接往返无损。容错诊断:残缺百分号序列不崩溃,原样保留并提示。
使用建议
拼 API 请求前,把每个参数值单独用 component 模式转一遍再拼接;分析别人发来的追踪链接,先解码看真实参数;配合站内「URL 参数对比」工具,可以进一步核对两条链接参数的差异。
常见问题
component 模式和 full 模式有什么区别?
component 模式(encodeURIComponent 口径)转义所有特殊字符,包括 ? & = /,适合编码「参数值」——比如把一段包含 & 的搜索词塞进查询参数;full 模式(encodeURI 口径)保留 URL 结构字符,适合编码「整条链接」,不会把 : // ? 这些结构符转掉。
为什么空格有时变成 %20 有时变成 +?
这是两套历史约定:百分号编码规范用 %20,而 HTML 表单的 application/x-www-form-urlencoded 用 +。本工具按标准百分号编码输出 %20,解码时两种都认识,都能还原成空格。
解码报「残缺的百分号序列」是什么意思?
说明文本里有孤立的 % 没有跟两位十六进制数,例如「100% 完成」里的 %。这不是合法的百分号编码,解码器无法确定你的意图,会把 % 原样保留并给出提示,其余部分正常解码。
相关工具
Base64 编解码
UTF-8 安全的 Base64 编码与解码,中文与 emoji 不乱码。
Base32/Base58 转换
UTF-8 / Hex / Base32 / Base58 四编码互转,RFC 4648 口径。
文件 Base64
文件与 Base64/Data URI 双向转换,前端内联资源场景。