URL 编码解码器 - 在线编码和解码 URL
免费在线 URL 编码器和解码器。使用百分号编码对 URL 进行编码,并即时解码已编码的 URL。
什么是 URL 编码?
URL 编码(也称为百分号编码)是一种在特定情况下对统一资源标识符(URI)中的信息进行编码的机制。它将字符转换为可以通过互联网传输的格式。URL 中不允许的字符会被替换为百分号(%)加上两个十六进制数字,表示该字符的 ASCII 码。例如,空格变为 %20,@ 变为 %40。
为什么 URL 需要编码
URL 只能包含 ASCII 字符集中的某些字符。保留字符(如空格、引号、& 符号)和非 ASCII 字符(如中文、日文或表情符号)必须进行编码以确保正确传输。URL 编码将不安全字符替换为其百分号编码等价物,使 URL 可以在网址、查询参数和 API 请求中安全使用。中文文本或表情符号等非 ASCII 字符会编码为其 UTF-8 字节序列。
百分号编码示例
| Character | Encoded |
|---|---|
| %20 | |
| @ | %40 |
| # | %23 |
| & | %26 |
| 你好 | %E4%BD%A0%E5%A5%BD |
| % | %25 |
| + | %2B |
| / | %2F |
| ? | %3F |
| = | %3D |
| 😀 | %F0%9F%98%80 |
如何使用 URL 编码解码器
- 1
将 URL 或文本粘贴到输入区域
- 2
点击「编码」将特殊字符转换为百分号编码格式
- 3
点击「解码」将百分号编码的 URL 还原为可读文本
- 4
使用「复制」复制结果,或使用「清空」重新开始
常见问题
什么是百分号编码?
百分号编码是一种将 URL 中不安全的字符替换为 % 符号加两个十六进制数字的方法。例如,空格字符被编码为 %20,因为 20 是空格字符 ASCII 码(十进制 32)的十六进制值。
encodeURI 和 encodeURIComponent 有什么区别?
encodeURI 设计用于编码整个 URL,会保留在 URL 结构中有意义的字符(如 /、?、&、=)。encodeURIComponent 编码单个 URL 组件(如查询参数值),并编码所有特殊字符(包括 /、?、&、=)。我们的工具使用 encodeURIComponent 进行全面的编码。
什么时候应该使用 URL 编码?
当您在 URL 中包含特殊字符时,特别是查询参数、含有空格或非 ASCII 字符的路径段,以及通过程序从用户输入构建 URL 时,都应使用 URL 编码。正确的编码可确保您的 URL 保持有效,数据能够正确传输。
我的数据会被发送到服务器吗?
不会。所有编码和解码完全在您的浏览器中使用 JavaScript 完成。您的数据永远不会离开您的设备——我们不会上传、存储或分享任何数据。您的隐私完全受到保护。
为什么空格在 URL 中编码为 %20,而在表单数据中编码为 +?
URL 和 HTML 表单使用两种不同的编码规则。在 URL 中,百分号编码(RFC 3986)将空格表示为 %20。在使用 application/x-www-form-urlencoded 媒体类型提交 HTML 表单时,空格被编码为加号 (+)。如果您手动构建查询字符串,原始 URL 请使用 %20,只有传统表单提交才使用 +——更稳妥的做法是让 encodeURIComponent 或 URL 库来处理。
如何在 Python 中对字符串进行 URL 编码?
Python 的 urllib.parse 模块提供了 quote() 和 quote_plus()。quote('hello world') 返回 'hello%20world'(URL 编码),而 quote_plus() 返回 'hello+world'(表单编码)。构建查询字符串请使用 urllib.parse.urlencode()。在 JavaScript 中,请使用 encodeURIComponent();在 PHP 中,请使用 rawurlencode()。
URL 编码可以处理表情符号和其他 Unicode 字符吗?
可以。像表情符号、中文或带重音的字母等非 ASCII 字符会先转换为 UTF-8 字节,每个字节再进行百分号编码。例如,表情符号 😀 会变成 %F0%9F%98%80。结果在任何 URL 中都有效,并且可以解码回原始字符。
发现此工具有问题?
报告问题