跳到工具

URL 编解码

对 URL 与查询字符串做百分号编解码,正确处理 UTF-8 与保留字符。

百分号编码把 URL 中不安全或保留的字符替换为 '%' 加两位十六进制数字。这是必须的,因为 URL 只能包含有限的 ASCII 字符集。

本编码器使用 UTF-8,中文、emoji 等非 ASCII 文本会先转成 UTF-8 字节,再逐字节做百分号编码。

百分号编码前先转 UTF-8,因此中文、emoji 等非 ASCII 文本都能正确处理,生成到处可用的合法 URL。

常见用途

常见问题

空格应该转成 %20 还是 +?
路径和多数现代 API 用 %20;'+' 只在 application/x-www-form-urlencoded 查询串中正确。
解码后为什么出现奇怪字符?
原始字节可能不是 UTF-8。如果源数据用的是 Latin-1 等旧编码,按 UTF-8 解码会出现替换字符。
编码可逆吗?
可逆。百分号编码是无损变换,解码能精确还原原始字节。
路径里的空格怎么处理?
路径中的空格必须是 %20,不能是 '+'。'+' 惯例只适用于表单提交的查询串。
什么时候需要编码整个 URL?
只有参数值需要编码;编码整个 URL 会破坏协议和域名。请只粘贴要传输的参数值。
为什么不用 encodeURIComponent?
encodeURIComponent 是浏览器原生函数,做的正是这件事。本工具复刻它,让你能在浏览器之外(比如文档或命令行)使用。

相关工具