URL 解码
在下方粘贴百分号编码的URL字符串并点击解码将其转换为可读文本。所有处理均在浏览器中本地完成。
已复制!
什么是URL解码?
URL解码(百分号解码)将百分号编码的字符转换回其原始形式。例如,%20 变为空格,%26 变为 &。
此工具还会将 + 号解码为空格(常见于表单数据)。
决定结果的是两个设置。字符集决定解出来的字节怎么变成文本,这对早于 UTF-8 的一切都很关键。加号设置决定加号是不是代表空格:对表单数据成立,对路径不成立,所以放在 URL 里的 base64 值一旦选错就会被弄坏。当结果里仍留有百分号转义时,页面会提示,因为这几乎总意味着这个值被编码了两次。
正在排查一个死活解不开的问题?
解不开的数据包通常是症状而不是病根:链路上某处做了两次编码、字符集是被假定而不是被声明、令牌签名所覆盖的字节和大家以为的并不完全一致。这类活我们在做,围绕集成、API 以及在它们之间传递数据的系统。
说说哪里出了问题常见问题
这个工具能解码什么?
任何百分号编码的文本:查询串里的一个值、路径片段、跳转目标,或者写进日志前被转义的整条 URL。每个 %XX 会还原成它所指的字节,这些字节再按你选的字符集变成文本。
加号为什么变成了空格?
因为表单数据把空格写成加号。这条规则只适用于 x-www-form-urlencoded 的请求体和查询串,别处都不适用,所以解码路径或加号是真实字符的 base64 值时请关掉它。
双重编码的提示是什么意思?
意思是结果里还留着百分号转义,这通常发生在一个值被编码之后又被第二个系统编码了一次。常见的迹象是 %2520:它解出来是 %20,不是空格。再解码一次就能拿到原始内容。
为什么解出来是问号或奇怪的字?
这些字节用一种字符集编码,却用另一种字符集解码。一个 UTF-8 字母按 Windows-1252 读出来会变成两个带重音的字符。请换字符集,直到文本读起来正常。
可以一次解码很多个值吗?
可以。每行粘一个值并打开逐行选项,每个值就会单独解码,输出也保持同样的排布。整行日志直接粘进来同样可行,因为变的只有百分号转义。