← 首页

🔗 URL 编码 / 解码器

将文字编码为 URL 安全格式,或将百分号编码的 URL 解码回可读文字。

这是什么工具?

URL 编码器和解码器是一种开发者工具,可在文字的可读形式和 URL 安全的百分号编码格式之间进行转换。URL 只能包含 ASCII 字符集中的有限字符,因此任何超出此安全范围的字符都必须编码为百分号后跟两个十六进制数字。例如,空格变成百分号 20 或加号,而 &、=、? 和 # 等字符在出现在参数值中时必须编码,以避免混淆 URL 解析器。这种编码在构建查询字符串、构造 API 请求、在 URL 中嵌入数据或处理网址中的国际字符时是必不可少的。中文、日文、韩文、阿拉伯文和其他非拉丁文字都需要编码才能在 URL 中安全传输。在解码方面,如果您收到含有编码字符的 URL 并需要阅读原始文字,解码器会反转此过程。使用 Web API、重定向 URL、跟踪参数或表单提交的开发者每天都使用 URL 编码。此工具使过程变得即时,并在单一界面中同时支持编码和解码。

运作原理

URL 编码器和解码器使用内置的 JavaScript 函数来执行转换。对于编码,它对输入文字套用 encodeURIComponent,将字母、数字以及连字符、下划线、句点、感叹号、波浪号、星号、撇号和括号之外的所有字符转换为百分号编码形式。对于解码,它套用 decodeURIComponent,将百分号编码序列反转回原始字符来反转编码过程。工具通过将 Unicode 字符编码为 UTF-8 字节序列的百分号编码形式来正确处理它们。解码时,它会正确解释多字节 UTF-8 序列。对于格式错误的输入(如无效的百分号编码序列)包含错误处理,工具会显示有用的错误消息而非崩溃。所有操作都在您的浏览器本地执行,不与服务器通讯。
Ad

使用方法

  1. 将您要编码或解码的文字粘贴或输入到输入文字区。
  2. 要将文字编码为 URL 安全格式,请按下编码按钮。特殊字符将转换为百分号编码形式。
  3. 要将百分号编码的 URL 解码回可读文字,请按下解码按钮。编码序列将转换回原始字符。
  4. 在结果区查看输出,并使用复制按钮复制。
  5. 如果出现错误,请检查您是否使用了正确的操作。编码可用于任何文字,但解码需要有效的百分号编码输入。

常见问题

常见问题

URL 编码会影响哪些字符?
URL 编码会将任何不是字母、数字或未保留字符(连字符、下划线、句点、波浪号)之一的字符转换为百分号编码形式。常见被编码的字符包括空格、&、=、?、#、/,以及所有非 ASCII 字符,包括中文、日文、韩文和重音拉丁字符。

encodeURI 和 encodeURIComponent 有什么区别?
encodeURIComponent 会编码所有内容,包括在 URL 中有特殊含义的字符,如 /、? 和 &。encodeURI 则保留这些 URL 结构字符,仅编码真正不安全的字符。此工具使用 encodeURIComponent,这是编码查询参数值的正确选择,因为结构字符也应该被编码。

它能处理国际字符吗?
可以。此工具通过将 Unicode 字符(包括中文、日文、韩文、阿拉伯文、斯拉夫文和重音拉丁字符)转换为其 UTF-8 字节表示的百分号编码形式来正确编码。例如,「中」字会变成百分号 E4 百分号 B8 百分号 AD。

如果我尝试解码无效输入会怎样?
工具会检测格式错误的输入(如不完整的百分号序列或无效的十六进制数字),并显示清晰的错误消息。这可以防止无声的数据损坏。请修正输入后再试一次。常见问题包括截断的百分号序列或编码文字中的拼写错误。

技巧与建议

在使用查询参数构建 URL 时,请务必编码参数值,但不要编码分隔参数的结构字符(如 = 和 &)。如果您要构建包含另一个 URL 作为参数的重定向 URL,请完全编码内部 URL。对于 API 开发,请编码所有进入 URL 参数的用户提供内容,以防止注入攻击并确保正确解析。在调试 URL 问题时,请先解码 URL 以查看编码前的原始值。请记住,查询字符串中的加号在表单编码数据中可以表示空格,但在路径片段中则否,因此请注意所使用的编码标准。所有处理都在您的浏览器本地进行。

相关文字工具

Ad