什么是URL Encoder / Decoder?
URL编码器/解码器是一种必不可少的Web开发工具,用于在普通文本和URL安全的百分比编码格式之间进行转换。当URL包含空格、特殊符号或非ASCII字符(如重音字母和表情符号)时,如果未正确编码就会损坏。该工具提供即时编码和解码,完全支持URL模式(编码完整URL)和组件模式(编码单个查询参数值),以及用于同时处理多个字符串的批处理模式。它处理RFC 3986中定义的所有标准百分比编码操作,将不安全字符转换为其%XX十六进制表示形式,反之亦然。是Web开发人员、API集成人员、SEO专家以及任何处理查询字符串、重定向或基于URL的数据传输的人的必备工具。完全在浏览器中运行,无需服务器调用,快速且私密。支持JavaScript的所有标准正则表达式功能,包括字符类、量词、锚点、捕获组、前瞻和后瞻断言以及Unicode匹配。
何时使用此计算器
- 您正在构建包含空格、符号或非 ASCII 字符的查询参数的 URL
- 您需要解码百分号编码的 URL 以读取其实际内容
- 您正在调试因未编码的特殊字符而拒绝您的 URL 的 API
- 您正在处理需要在使用前清理的用户提交的 URL
- 您需要同时批量编码或解码多个 URL 段
- 您正在构建必须正确编码参数的重定向或回调 URL
步骤:
- 输入或粘贴要编码或解码的文本/URL。
- 选择编码或解码模式。
- 单击转换按钮。
- 复制结果以在您的应用程序中使用。
公式
编码:不安全字符 → % + 2 位十六进制代码 ➡ 解码:%XX → 原始字符
使用场景
- 为 URL 构建安全的查询字符串
- 处理 API 请求参数
- 调试已编码的 URL
- 创建 URL 友好的别名和路径
主要优势
- 实时结果的即时编码和解码
- 支持URL模式和组件模式以适应不同上下文
- 批处理模式用于同时编码或解码多个字符串
- 处理所有特殊字符包括Unicode和表情符号
- 100%基于浏览器 — 不向服务器发送任何数据
- 可视字符计数,用于验证编码没有重复或截断输入
专业提示
- 在将用户生成的URL参数包含到URL中之前,始终对其进行编码
- 在JavaScript中,使用encodeURIComponent()编码单个查询参数值
- 在向用户显示之前解码URL以提高可读性
- 注意双重编码:如果看到%25后面跟着更多十六进制数字,URL可能已被编码两次
- 构建查询字符串时使用组件模式,编码整个URL路径或完整URL时使用URL模式
需要避免的常见错误
- 通过编码已编码的URL进行双重编码,将%20转换为%2520
- 使用错误的编码上下文 — URL模式和组件模式对相同输入产生不同输出
- 忘记+仅在application/x-www-form-urlencoded数据中代表空格
- 未正确处理非ASCII字符——在百分号编码之前始终确保UTF-8编码
关键术语解释
- 百分比编码:在URL中编码字符的标准机制,用%后跟两位十六进制ASCII代码替换不安全字符
- 查询字符串:URL中?字符之后的部分,包含用&分隔的键值对
- 保留字符:如:, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = — 根据RFC 3986在URL语法中具有特殊含义
- 组件模式与URL模式:组件模式编码更多字符,用于单个值;URL模式保留URL结构,用于完整路径
相关概念
- 百分号编码:用 % 后跟两位十六进制 ASCII 代码替换不安全字符以实现安全 URL 传输的机制
- 查询字符串:URL 中 ? 字符之后的部分,包含由 & 字符分隔的键值对
- 保留字符:根据 RFC 3986,在 URL 语法中具有特殊含义的字符,如 :、/、?、#、[、]、@、!、$、&、(、)、*、+、,、;、=
- URL 安全字符:URL 中无需编码的非保留字符(字母、数字、-、_、.、~)
- encodeURIComponent 与 encodeURI:JavaScript 函数,其中 encodeURIComponent 对单个值编码除字母、数字和 _*-.~ 之外的所有内容,而 encodeURI 保留完整 URL 的结构字符。
示例
编码 "Hello World & Friends!" → "Hello%20World%20%26%20Friends%21"。解码 "search%3Fq%3Dhello+world" → "search?q=hello world"。
解读您的结果
编码器将不安全的 URL 字符(空格、&、?、#、非 ASCII 等)转换为百分号编码格式,其中每个字符变为 % 加两位十六进制代码。解码器逆转此过程,恢复原始可读文本。字符数有助于你验证编码是否意外重复或截断了你的输入。
组件模式编码更广泛的字符集,专为编码单个查询参数值而设计。URL 模式对要编码的内容更严格,专为编码完整 URL 路径或整个 URL 而设计。构建查询字符串时使用组件模式,编码完整 URL 时使用 URL 模式。
批量模式允许你一次编码或解码多行,当你有要处理的 URL 或参数列表时非常有用。每行都被视为单独的输入,所有结果一起显示,方便复制。

