URL 编码
对文本进行百分号编码,以便安全地用于 URL 和查询字符串。可选择组件模式或完整 URL 模式。在浏览器中运行。
在浏览器中本地处理,你的文本不会被上传。
这个工具能做什么
URL 只能包含有限的一组字符。空格、非英文字母、emoji,以及 &、=、? 等保留字符,在放入查询字符串或路径之前,必须进行百分号编码(例如空格会变成 %20,é 会变成 %C3%A9)。
对单个值(如查询参数、表单字段或路径片段)使用“组件”模式:它会转义所有保留字符,包括 / ? & = # 和 :。如果你已经有一个完整的 URL,只想转义 URL 中不合法的字符,而保持其结构(https://、斜杠、?、&、#)不变,请使用“完整 URL”模式。你也可以把空格写成 +,用于 application/x-www-form-urlencoded 数据。
文本使用浏览器自带的 encodeURIComponent 和 encodeURI 函数,以 UTF-8 编码,全程在本地进行,不会上传任何内容。
使用方法
- 1在输入框中输入或粘贴文本或 URL。
- 2对单个值选择“组件”,如需保留 URL 结构则选择“完整 URL”。
- 3如需表单风格的编码,可打开“将空格编码为 +”。
- 4复制编码结果,或将其下载为文本文件。
支持的格式
输入纯文本,输出百分号编码后的 ASCII。字符按 UTF-8 编码。
隐私
此工具在你的浏览器中运行。你提供的数据在你的设备上处理,不会发送到我们的服务器。
限制
- “完整 URL”模式并不理解你的 URL:它不会对属于某个值的 & 或 = 进行编码。请先用“组件”模式编码每个值,再拼装 URL。
- 包含未配对代理字符(损坏的 emoji)的文本无法编码,会作为错误报告。
- 已经编码过的输入会被再次编码(% 会变成 %25)。如果不确定,请先使用解码工具。
- 浏览器函数不会处理 ! ' ( ) * 等字符,保持原样,这在 URL 中是合法的。
常见问题
组件模式和完整 URL 模式有什么区别?
组件模式(encodeURIComponent)会转义 URL 中所有有特殊含义的字符,适用于值。完整 URL 模式(encodeURI)会保留 : / ? & = # 等字符,使完整的 URL 仍然可用。
空格应该写成 %20 还是 +?
在路径和大多数现代的查询处理中,%20 始终是正确的。+ 形式只在表单编码数据(application/x-www-form-urlencoded,即 HTML 表单提交的格式)中才表示“空格”。
为什么我的百分号变成了 %25?
输入本来就已经编码过了,编码器把每个 % 都当作了普通文本。请先解码,修改后再编码一次。