URL 编码 / 解码
将文本进行百分号编码与解码,以便安全用于 URL
关于此工具
此 URL 编码器将文本转换为百分号编码形式,以便安全地放入网址中,并将 %XX 序列解码回可读文本。URL 只能包含有限的字符集,因此空格、与号、斜杠和非 ASCII 字母在进入查询字符串或路径前必须转义。组件模式(encodeURIComponent)会转义 & = ? / 等保留字符,适用于单个参数值;完整 URL 模式(encodeURI)保留结构性字符,使完整地址仍可使用。
使用方法
- 1 选择“编码”使文本对 URL 安全,或选择“解码”将其还原。
- 2 为单个参数值选择“组件”,为整个地址选择“完整 URL”。
- 3 在输入框中键入或粘贴您的文本。
- 4 复制百分号编码(或解码)结果,或使用“互换”反转方向。
工作原理
百分号编码将不安全的字符替换为百分号加上其十六进制字节值。空格变成 %20,与号变成 %26,斜杠变成 %2F。ASCII 之外的字符会先编码为 UTF-8,然后每个字节写成 %XX,因此单个非拉丁字符可能展开为多个百分号组。组件模式会转义保留分隔符 & = ? / #,使某个值无法破坏周围的查询字符串,因此 encodeURIComponent("a b&c") 得到 a%20b%26c。完整 URL 模式保留这些分隔符,使整个地址在结构上保持有效。
常见问题
什么是 URL(百分号)编码?
这是一种方案,将 URL 中不允许的字符替换为 % 号加上该字符的十六进制字节值,从而让任何文本都能安全地在地址中传输。
组件模式还是完整 URL 模式——该用哪个?
对查询参数等单个值使用组件模式,它会转义 & = ? /。对整个地址编码时使用完整 URL 模式,以保留结构性字符。
为什么空格会变成 %20?
URL 中不允许空格,因此用其字节值 0x20 写成 %20 来替换。在查询字符串中有时会改用加号。
表情符号和带重音的字母如何处理?
它们先被编码为 UTF-8 字节,然后每个字节变成一个 %XX 组,因此一个字符可能变成多个百分号序列,但仍能精确解码还原。
相关工具与用途
若要编码二进制有效载荷,请使用 Base64 编码器。若要查找每个百分号组背后的字节值,请参阅 ASCII / Unicode 转换器;进制转换器可帮助以十六进制读取这些值。