~/tutorials/url-encode

URL 编码是什么?%E4%BD%9C 这种串怎么还原成中文

2026-09-25 · 约 3 分钟读完

链接里中文变成了 %E4%BD%9C,复制过来打不开;URL 参数带个 & 或 ?、一个空格,整条链接就废了;表单里明明提交的 + 号,收到却变成了空格——这些都是 URL 编码惹的。下面30 秒讲清它是什么,再给你三步把编码串还原成中文,全程浏览器本地完成,不上传、不注册。

URL 编码是什么:一段 30 秒讲清

URL 编码(Percent-Encoding,百分号编码)就一句话:把 URL 里「不安全」的字符,换成 % 加它字节的三位十六进制。比如汉字「作」是 U+4F5C,按 UTF-8 编码是 3 个字节 E4 BD 9C,于是写成 %E4%BD%9C——一个汉字,9 个可见字符。英文字母、数字、- . _ ~ 是安全的原样保留;空格变 %20,& 变 %26,? 变 %3F。

作 → U+4F5C → UTF-8 字节 E4 BD 9C → %E4%BD%9C

什么时候会遇到

三步还原一个编码串

① 粘贴进工具

把 %E4%BD%9C 这类编码串原样粘进本站工具的输入框,点「解码」,结果框里出来「作」。一个字符都不许漏,漏了就会报 URIError。

② 反向:把普通文字编码成安全片段

要把「张三」拼进 URL 参数?粘贴原文点「编码」,得到 %E5%BC%A0%E4%B8%93,直接 ?name= 后面粘上即可,不怕和 & ? 空格打架。

③ 结果不对劲就查两头

解码出乱码:先核对复制全没全,再怀疑编码不是 UTF-8(源端可能是 GBK)。报「Invalid URI」:% 后面三位不是合法十六进制,多半是复制缺了字节。

工具:yvfng.com 的 URL 编码 / 解码,encodeURIComponent / decodeURIComponent、百分号、表单 + 号处理,粘贴即用,全程在浏览器本地跑,不上传、不注册。

写 URL 编码最常踩的 3 个坑

常见问题

%E4%BD%9C 到底怎么一步步解出来

先切成 %E4、%BD、%9C 三段,各去掉 % 得到字节 E4 BD 9C;按 UTF-8 规则这三个字节拼回一个汉字「作」。整串就是每个字节都这么还原再拼起来,工具里点「解码」自动完成。

encodeURIComponent 和 encodeURI 什么区别

encodeURIComponent 面向「参数值」,连 & ? = / 都编码,适合拼进 query;encodeURI 面向「整条 URL」,保留 & ? # / 这些结构字符不编码。写参数用前者,补全整条地址用后者。

为什么表单里空格变成了 +

application/x-www-form-urlencoded 的老规矩里 + 就代表空格,浏览器提交表单时自动这么转。所以解码表单参数时 + 要还原成空格;但自定义拼的 URL 参数里 + 就只是普通字符,别混着来。

解码后全是乱码怎么办

多半是编码假设不对:字节其实是 GBK 不是 UTF-8,按 UTF-8 硬拼就出乱码。先确认来源端用的是什么编码,必要时换按 GBK 解码的工具再试;复制漏字节也会乱,先核对长度。

相关工具

URL 编码

编码 / 解码百分号串、表单 + 号处理,粘贴即用,全程本地。打开 ↗

Base64 编解码

图片转 data URI 内嵌、Base64 互转,和 URL 编码是两回事。打开 ↗

JSON 格式化

美化、压缩、校验、键排序,接口返回 JSON 读不了时用。打开 ↗

回工具矩阵

更多在线工具与教程,都在首页一屏看全。回首页 ↗

一句话总结:粘贴 → 解码 → 读结果,反向就编码;全程浏览器本地完成,不上传、不注册。