URL 编解码
组件级与整段两种模式,能识别重复编码。
输入
输出
URL 里只允许一小部分字符,其余必须写成 %XX 形式的百分号编码(RFC 3986)。空格、中文、#、&、? 这些字符一旦漏转义,就会改变整段 URL 的结构,这也是「参数莫名被截断」的常见原因。
工具区分两种模式:组件级编码把整段文本当做一个值处理,连 : / ? = 都会转义,适合拼接查询参数;整段 URL 模式保留结构字符,只转义空格和中文,适合处理已经拼好的地址。边界要说清:+ 按 RFC 3986 是查询串里的合法字符,本工具不动它,需要连它一起严格转义请改用参数解析页。
URL 编解码怎么用
- 参数值转义:默认模式(等价于 encodeURIComponent),把中文、空格、& 等全部转成 %XX。
- 整段 URL:打开「整段 URL 模式」,等价于 encodeURI,只处理不合法的字符。
- 反复解码:切到「解码」会一层层解到底,如果发现需要解两次以上,说明上游做了重复编码。
常见问题
encodeURI 和 encodeURIComponent 有什么区别?
后者多转义了 : / ? # [ ] @ ! $ & ' ( ) * + , ; =,因此可以安全地作为单个参数值;前者保留这些字符,用来处理整段地址。
为什么 + 号没被转义?
RFC 3986 里 + 在查询串中是合法字符,含义由协议约定。表单编码(application/x-www-form-urlencoded)把 + 当作空格,URL 标准本身不当。需要严格转义时请改用参数解析工具。
解码报「非法的百分号序列」是什么意思?
输入里出现了 % 后面不跟两个十六进制字符的情况,例如 %E4%A 或者被截断的中文。这类串无法还原成字节。
对应功能编号 #5无需安装,手机端同样可用按 Ctrl + K 换工具