URL编码器
使用多种编码模式(RFC 3986、查询字符串、表单数据)对 URL 文本进行编码,具有视觉化逐个字符分解和全面的编码分析。准确了解哪些字符被编码以及原因。
检测到广告拦截,导致我们无法展示广告
MiniWebtool 依靠广告收入免费提供服务。如果这个工具帮到了你,欢迎开通 Premium(无广告 + 更快),或将 MiniWebtool.com 加入白名单后刷新页面。
- 或升级 Premium(无广告)
- 允许 MiniWebtool.com 显示广告,然后刷新
URL编码器
欢迎使用 URL 编码器,这是一款功能强大的工具,可对文本进行百分比编码,以便在 URL 中安全使用。该工具提供多种编码模式(RFC 3986、查询字符串、路径段)、视觉化逐个字符分析和全面统计。准确了解哪些字符被编码并理解其原因,非常适合开发人员、SEO 专家以及任何使用 URL 的人士。
什么是 URL 编码?
URL 编码(也称为百分比编码)是一种在统一资源标识符 (URI) 中对信息进行编码的机制。它将不安全的 ASCII 字符替换为“%”后跟代表该字符在 UTF-8 编码中字节值的两个十六进制数字。
例如:
- 空格变为
%20(或在查询字符串中变为+) - 和号
&变为%26 - 问号
?变为%3F
为什么需要进行 URL 编码?
URL 只能包含来自 US-ASCII 字符集的有限字符。该集合以外的字符,或在 URL 中具有特殊含义的字符(如 &、=、?),必须进行编码以:
- 防止误解:像
&这样的特殊字符用于分隔查询参数。如果您的数据包含&,则必须将其编码为%26。 - 支持国际字符:非 ASCII 字符(如中文、阿拉伯语、表情符号)必须编码为 UTF-8 字节序列。
- 确保安全传输:某些字符由于潜在的安全问题或传输问题而不适合直接放在 URL 中。
编码模式详解
RFC 3986 (URL 组件)
由 RFC 3986 定义的标准编码。除未保留字符 (A-Z, a-z, 0-9, -, ., _, ~) 以外的所有字符都会进行百分比编码。空格变为 %20。大多数 URL 组件建议使用此模式。
查询字符串 (application/x-www-form-urlencoded)
HTML 表单提交和搜索查询常用的编码。空格变为 + 而不是 %20。这是浏览器在提交表单时使用的模式。
路径段
类似于 RFC 3986,但保留斜杠 (/)。在编码要保持目录结构的 URL 路径时使用此模式。
完全编码
编码除字母数字字符 (A-Z, a-z, 0-9) 以外的所有内容。这是最严格的编码模式,在需要最大程度安全性时非常有用。
必须编码的字符
保留字符
这些字符在 URL 中具有特殊含义,当作为数据使用时必须进行编码:
| 字符 | 已编码 | 在 URL 中的用途 |
|---|---|---|
: | %3A | 协议分隔符 (http:),端口分隔符 |
/ | %2F | 路径段分隔符 |
? | %3F | 查询字符串分隔符 |
# | %23 | 片段标识符 |
& | %26 | 查询参数分隔符 |
= | %3D | 键值分隔符 |
@ | %40 | 用户信息分隔符 |
不安全字符
这些字符应始终进行编码:
| 字符 | 已编码 | 原因 |
|---|---|---|
| 空格 | %20 或 + | URL 中不允许直接使用 |
< > | %3C %3E | 潜在的 HTML 注入 |
" | %22 | HTML 中的属性分隔符 |
{ } | %7B %7D | URL 中无效 |
| | %7C | 不安全字符 |
\ | %5C | 不安全字符 |
如何使用此工具
- 输入文本:在输入区域键入或粘贴您要编码的文本。您可以尝试点击“快速示例”按钮来查看常见用例。
- 选择编码模式:根据您的使用场景选择合适的模式(用于组件的 RFC 3986,用于搜索参数的查询字符串等)。
- 点击编码:工具将对您的文本进行编码并显示结果。
- 查看分析:查看逐个字符的分解,了解哪些字符被编码以及原因。
- 复制结果:点击“复制”按钮将编码后的文本复制到剪贴板。
常见用例
API 参数
将用户输入作为 URL 参数传递时:
https://api.example.com/search?q=Hello%20World%21
重定向 URL
编码一个 URL 作为参数传递时:
https://example.com/redirect?url=https%3A%2F%2Fother-site.com
文件名
对包含空格或特殊字符的文件名进行编码时:
/files/My%20Document%20%282024%29.pdf
常见问题解答
什么是 URL 编码?
URL 编码(也称为百分比编码)是一种在统一资源标识符 (URI) 中对信息进行编码的机制。它将不安全的 ASCII 字符替换为“%”后跟代表该字符字节值的两个十六进制数字。例如,空格变为 %20,和号变为 %26。
为什么 URL 需要编码?
URL 只能包含来自 ASCII 字符集的有限字符。空格、特殊符号和非 ASCII 字符等字符必须经过编码才能正确传输。如果没有编码,这些字符可能会被误解为 URL 分隔符或导致传输错误。
RFC 3986 编码和查询字符串编码有什么区别?
RFC 3986 编码将空格表示为 %20,是 URL 组件的标准。查询字符串编码 (application/x-www-form-urlencoded) 将空格表示为 +,通常用于 HTML 表单提交和搜索查询。两者都是有效的,但用于不同的语境。
哪些字符在 URL 中是安全的,不需要编码?
根据 RFC 3986,不需要编码的未保留字符包括:大写字母 (A-Z)、小写字母 (a-z)、数字 (0-9) 和四个特殊字符:连字符 (-)、句点 (.)、下划线 (_) 和波浪号 (~)。所有其他字符都应该进行百分比编码。
如何对 URL 参数中的 & 和 = 等特殊字符进行编码?
当 &(和号)和 =(等号)作为 URL 参数中的数据使用时,必须进行百分比编码。& 变为 %26,= 变为 %3D。这可以防止它们被解释为参数分隔符或键值分隔符。
相关工具
- URL 解码器 - 将百分比编码的 URL 解码回纯文本
- Base64 编码器 - 将文本编码为 Base64 格式
- HTML 实体编码器 - 编码 HTML 特殊字符
额外资源
引用此内容、页面或工具为:
"URL编码器" 于 https://MiniWebtool.com/zh-cn/url编码器/,来自 MiniWebtool,https://MiniWebtool.com/
由 miniwebtool 团队提供。更新日期:2026年1月14日