需要使用 URL 编码格式吗?那么本网站正好适合您!使用我们的在线工具对数据进行编码或解码,便捷好用。

将“成为”编码为 URL 编码格式

要对二进制文件(如图像、文档等)进行编码,请使用此页面下方的文件上传表单。

将文件编码为 URL 编码格式

单击(或轻触)此处选择文件
文件大小上限为 192MB。

关于

认识 URL 编码和解码,这是一个简单易用的在线工具,顾名思义,就是简单快捷地进行 URL 代码的解码或编码操作。您的数据可以轻松地编码为 URL 编码,也可以解码为人类可读的格式。

URL 编码又称为“百分比编码”,是一种用统一资源标识符(URI)编码信息的机制。虽被称为 URL 编码,但它实际上更普遍地用于主要的统一资源标识符(URI)集,其中包括统一资源定位符(URL)和统一资源名称(URN)。因此,它也用于准备“application/x-www-form-urlencoded”介质类型的数据,通常用于在 HTTP 请求中提交 HTML 表单数据。

高级选项
  • 字符集:本网站使用 UTF-8 字符集,因此您输入的数据将以该格式传输。如果要在编码之前将数据转换为其他字符集,请更改此选项。请注意,对于文本数据,编码方案不包含字符集,因此可能需要指定解码过程中使用的适当字符集。对于文件,将默认使用二进制选项,因此会省略转换过程;除纯文本文档之外,所有内容都必须使用此选项。
  • 换行符:Unix 和 Windows 系统使用的分行符不相同,因此在编码之前,数据中的任一变体都将替换为所选选项。对于文件部分,在某些情况下无影响,因为文件已包含相应的分隔符,但可以针对“对每一行分别编码”和“将行拆分为组块”功能指定需要使用的分隔符。
  • 对每一行分别编码:即使是换行符,也会转换为相应的百分比编码形式。如果想要对使用换行符分隔的多个独立数据条目进行编码,请使用此选项。(*)
  • 将行拆分为组块:编码的数据将成为不含任何空格的连续文本,因此如果要将其拆分为多行,请选择此选项。MIME(RFC 2045)规范中明确了所运用的字符限制,其中规定编码行长度不得超过 76 个字符。(*)
  • 实时模式:启用此选项后,输入的数据会立即通过浏览器的内置 JavaScript 函数编码,无需向服务器发送任何信息。该模式目前仅支持 UTF-8 字符集。
(*)这些选项不可同时启用,否则生成的输出内容将对大多数应用程序无效。

安全可靠

与服务器之间进行的所有通信都将通过安全的 SSL 加密连接(https)进行传输。上传的文件处理完毕后,我们会立即从服务器中删除该文件,并且生成的可下载文件在第一次尝试下载或 15 分钟无操作(以较短时间为准)后会立即删除。我们不会以任何方式留存或检查所提交数据或所上传文件的内容。请阅读下面的隐私政策了解详情。

完全免费

我们的工具供免费使用。从现在起,您无需为此类简单任务下载任何软件。

关于 URL 编码的详细信息

URI 的字符类型

URI 中允许的字符是保留字符或非保留字符(或在百分比编码中为百分比字符)。保留字符是指在有些情况下具有特殊含义的字符。例如,正斜杠字符用于分隔 URL(或者更普遍的情况下是 URI)的不同部分。非保留字符没有此类特殊含义。在百分比编码中,保留字符使用特殊字符序列来表示。关于 URL 和 URI 方案的规范每进行新修订后,保留字符和非保留字符集以及某些保留字符具有特殊含义的情形都将略有变化。

RFC 3986 第 2.2 节“保留字符”(2005 年 1 月)
! * ' ( ) ; : @ & = + $ , / ? # [ ]

RFC 3986 第 2.3 节“非保留字符”(2005 年 1 月)
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 - _ . ~

URI 中的其他字符必须采用百分比编码。

对保留字符进行百分比编码

如果保留字符集中的字符(“保留字符”)在特定上下文中具有特殊含义(“保留目的”),并且 URI 方案规定该字符需用于某种其他目的,则该字符必须采用百分比编码。对保留字符进行百分比编码是指将字符转换为 ASCII 中的相应字节值,再用一对十六进制数字表示该值。然后在 URI 中使用数字(前面带有百分比符号(“%”))代替保留字符。(对于非 ASCII 字符,通常转换为 UTF-8 中相应的字节序列,然后每个字节值采用上述方式表示。)

例如,如果在 URI 的“路径”组件中使用保留字符“/”,则“/”具有特殊含义,即:充当路径片段之间的分隔符。根据给定的 URI 方案,如果在路径片段中需使用“/”,则必须在路径片段中使用三个字符“%2F”(或“%2f”),而不使用“/”。

百分比编码后的保留字符
! # $ & ' ( ) * + , / : ; = ? @ [ ]
%21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D

在特定上下文中没有保留用途的保留字符也可以采用百分比编码,但与其他字符在语义上没有区别。

例如,在 URI 的“查询”组件中(“?”字符之后的部分),“/”仍被视为保留字符,但它通常没有保留用途(除非特定的 URI 方案另有说明)。当字符没有保留用途时,不需要采用百分比编码。

如果不同 URI 之间的区别仅在于保留字符是否采用百分比编码,这些不同 URI 通常被视为不等效(表示相同的资源),但相关保留字符没有保留用途的情况下除外。具体判断取决于具体 URI 方案为保留字符建立的规则。

对非保留字符进行百分比编码

非保留字符集中的字符在任何情况下都不需要采用百分比编码。

根据定义,如果不同 URI 之间的区别仅在于非保留字符是否采用百分比编码,那么这些不同 URI 被视为等效,但实际上,URI 处理器可能有时会对它们进行区别对待。例如,URI 消费者不应区别对待“%41”与“A”(“%41”是“A”的百分比编码形式)或“%7E”与“~”,但有些消费者会这样做。因此,为了最大限度地提高互操作性,不建议 URI 生成工具对非保留字符进行百分比编码。

对百分比字符进行百分比编码

百分比(“%”)字符充当百分比编码八位组的指示符,因此该字符必须百分比编码为“%25”,相应的八位组才可用作 URI 中的数据。

对任意数据进行百分比编码

大多数 URI 方案都涉及将任意数据(例如 IP 地址或文件系统路径)表示为 URI 的组成部分。URI 方案规范应该(但通常不会)提供 URI 字符与这些字符所表示的所有可能数据值之间的显式映射。

二进制数据

自 1994 年发布 RFC 1738 以来,方案中就规定在 URI 中表示二进制数据必须按照上述相同方式将数据划分为 8 位字节,并对每个字节进行百分比编码。例如,字节值 0F(十六进制)应表示为“%0F”,但字节值 41(十六进制)可以表示为“A”或“%41”。通常建议对字母数字和其他非保留字符使用非编码字符,因为这样能缩短 URL。

字符数据

对二进制数据进行百分比编码的过程通常被类推(有时不恰当或不完全地指定为)应用于基于字符的数据。在万维网的形成时期,在处理 ASCII 库中的数据字符并使用其 ASCII 中的相应字节作为依据来确定百分比编码序列时,这种做法相对无害;许多人认为字符和字节是一对一映射且可互换的。然而,对表示 ASCII 范围之外的字符的需求迅速增长,而 URI 方案和协议通常无法提供用于准备包含在 URI 中的字符数据的标准规则。因此,Web 应用程序开始使用不同的多字节、有状态以及其他与 ASCII 不兼容的编码作为百分比编码的基础,导致产生歧义以及难以可靠地解释 URI。

例如,许多基于 RFC 1738 和 2396 的 URI 方案和协议假定数据字符将根据一些未指定的字符编码转换为字节,然后在 URI 中由非保留字符或百分比编码字节表示。如果方案不允许 URI 提供关于使用何种编码的提示,或者如果编码与使用 ASCII 对保留字符和非保留字符进行百分比编码发生冲突,便无法可靠地解释 URI。一些方案完全未考虑编码,只是建议将数据字符直接映射到 URI 字符,这使用户各自决定是否以及如何对既不属于保留集也不属于非保留集的数据字符进行百分比编码。

百分比编码后的常见字符(基于 ASCII 或 UTF-8)
换行符 空格 " % - . < > \ ^ _ ` { | } ~
%0A%0D%0D%0A %20 %22 %25 %2D %2E %3C %3E %5C %5E %5F %60 %7B %7C %7D %7E

任意字符数据有时会进行百分比编码,并在非 URI 情况下使用,例如,用于密码混淆程序或其他特定于系统的转换协议。
切换到桌面端版本
2012-2024 urlencoder.org
隐私政策 联系方式
本网站使用 Cookie。我们使用 Cookie 来投放个性化的内容/广告并分析网站流量。