跳到正文
EVOA Toolbox

URL 编码

对文本进行百分号编码,以便安全地用于 URL 和查询字符串。可选择组件模式或完整 URL 模式。在浏览器中运行。

在浏览器中本地处理,你的文本不会被上传。

正在加载工具…

这个工具能做什么

URL 只能包含有限的一组字符。空格、非英文字母、emoji,以及 &、=、? 等保留字符,在放入查询字符串或路径之前,必须进行百分号编码(例如空格会变成 %20,é 会变成 %C3%A9)。

对单个值(如查询参数、表单字段或路径片段)使用“组件”模式:它会转义所有保留字符,包括 / ? & = # 和 :。如果你已经有一个完整的 URL,只想转义 URL 中不合法的字符,而保持其结构(https://、斜杠、?、&、#)不变,请使用“完整 URL”模式。你也可以把空格写成 +,用于 application/x-www-form-urlencoded 数据。

文本使用浏览器自带的 encodeURIComponent 和 encodeURI 函数,以 UTF-8 编码,全程在本地进行,不会上传任何内容。

使用方法

  1. 1在输入框中输入或粘贴文本或 URL。
  2. 2对单个值选择“组件”,如需保留 URL 结构则选择“完整 URL”。
  3. 3如需表单风格的编码,可打开“将空格编码为 +”。
  4. 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?

输入本来就已经编码过了,编码器把每个 % 都当作了普通文本。请先解码,修改后再编码一次。

相关工具