美文网首页
编码系列-URL编码

编码系列-URL编码

作者: mtry | 来源:发表于2021-03-11 21:01 被阅读0次

写在前面

组成 URL(全称:Uniform Resource Locator,缩写:URL;或称统一资源定位器、定位地址、URL地址,俗称网页地址或简称网址)字符是有限的,URL编码就是为了解决这个问题的。

比如

https://zh.wikipedia.org/wiki/哈

URL编码后 

https://zh.wikipedia.org/wiki/%e5%93%88

URL编码,又称百分号编码,是特定上下文的统一资源定位符 (URL)的编码机制,实际上也适用于统一资源标志符(URI)的编码。

编码原理

URL所允许的字符分作保留未保留

  • 保留: 字符是那些具有特殊含义的字符,例如:斜线字符用于URL不同部分的分界符;
  • 未保留: 字符没有这些特殊含义。

上述情形随URL的不同版本规格会有轻微的变化。

URL_img01.png

URL中的其它字符必须用百分号编码。

编码规则:转换为UTF-8字节序, 然后每个字节前面放置转义字符("%")

比如:编码“~”(UTF8在编码ASCII码时,通过一个字节来编码ASCII码同时也保持其值一致)

第一步,转换UTF8编码:7e(ASCII码也是:7e)
第二步,URL编码:%7e

比如,编码“哈”

第一步,转换UTF8编码:e59388
第二步,URL编码:%e5%93%88

注意:

  1. UTF8 是用来编码 Unicode 码的;
  2. 如果URL保留字符是有上下含义,可以对其进行百分号编码,比如:name=va&lue,编码之后 name=va%26lue,这样解析之后 name 的值就是 va&lue,如果不编码值就是 va;

参考资料

相关文章

网友评论

      本文标题:编码系列-URL编码

      本文链接:https://www.haomeiwen.com/subject/ndioqltx.html