编码系列-URL编码

写在前面

组成 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;

参考资料

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容