totools.siteURL 在线编码解码工具(totools 最好用的在线工具集合)


URL 编码或解码的结果:
日志记录:


什么是URL编码

URL编码(URL encoding),也称作百分号编码(Percent-encoding), 是特定上下文的统一资源定位符 (URL)的编码机制。 适用于统一资源标识符(URI)的编码,也用于为"application/x-www-form-urlencoded" MIME准备数据, 因为它用于通过HTTP的请求操作(request)提交HTML表单数据。

URL的字符类型

URI所允许的字符分作保留未保留保留字符是那些具有特殊含义的字符,例如:斜线字符用于URL(或URI)不同部分的分界符;未保留字符没有这些特殊含义。百分号编码把保留字符表示为特殊字符序列。上述情形随URI与URI的不同版本规格会有轻微的变化。

RFC 3986section 2.2保留字符(2005年1月)
!*'();:@&=+$,/?#[]
RFC 3986section 2.3未保留字符(2005年1月)
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
0123456789-_.~

保留字符的百分号编码

如果一个保留字符在特定上下文中具有特殊含义(称作"reserved purpose") , 且URI中必须使用该字符用于其它目的, 那么该字符必须百分号编码。百分号编码一个保留字符,首先需要把该字符的ASCII的值表示为两个16进制的数字,然后在其前面放置转义字符("%"),置入URI中的相应位置。(对于非ASCII字符, 需要转换为UTF-8字节序, 然后每个字节按照上述方式表示.)

对百分号字符的百分号编码

由于百分号字符("%")表示百分号编码字节流的存在, 因此百分号字符应该被编码为3个字节的序列:"%25",用于URI内部。

任意数据的百分号编码

大多数URI涉及表示任意数据, 例如 IP地址 或 文件系统 路径作为URI的成分。

实例

我们要向https://www.010tools.com/api/urlencode发起GET请求,同时要向其传递参数input,值为:https://www.010tool.com/.

按照URL的编码规范,我们需要将值https://www.010tools.com 进行URL编码,其中包含保留字符: /,故要对: /进行百分号编码,编码后数据是:https%3A%2F%2Fwww.010tools.com%2F,最终构造的GET请求链接为: https://www.010tools.com/api/urlencode?input=https%3A%2F%2Fwww.010tools.com%2F