URL 编解码
URL 百分号编码与解码,可选 encodeURI 或 encodeURIComponent 模式。
URL 编解码是做什么的
把带中文或空格的链接直接发给别人经常打不开,接口传参时特殊字符也会截断请求。输入内容选择编码方向即可得到合法的百分号编码,也能把收到的编码串还原成可读文字。
核心功能
- 整段网址与单个参数值分开处理
- 解码时自动把加号还原为空格
- 解码失败会提示非法百分号编码
- 输入即转换,无需点击按钮
URL 编解码怎么用
输入网址或参数值,选择编码方式。整段网址用 encodeURI,参数值用 encodeURIComponent。
- 把待处理的网址或参数值粘贴到输入框
- 点击上方编码或解码按钮切换转换方向
- 整条链接选 encodeURI 模式,参数值选另一种
- 在右侧输出区查看结果,点复制按钮取走
适合这些场景
- 开发拼接接口请求的查询参数
- 运营生成可点击的带中文推广链接
- 排查浏览器地址栏里的乱码参数
常见问题
两者有什么区别?
encodeURI 保留 : / ? & = # 等网址结构字符,适合编码整条链接;encodeURIComponent 会把这些也一并编码,只适合处理单个参数值。
解码后加号变成空格是 Bug 吗?
不是。表单提交习惯把空格编码为加号,解码时按此约定还原。如果加号本身是内容,编码时应先转成 %2B。
为什么中文编码后这么长?
一个汉字按 UTF-8 占 3 字节,每字节编码成百分号加两位十六进制,共 9 个字符,属正常现象。
什么字符不会被编码?
字母数字与 - _ . ~ ! * ' ( ) 始终保留;encodeURI 额外保留网址结构字符,具体可对比两种模式的输出。