URLEncoder学习笔记

前段时间和同事一起集成了Ceph RGW的接口,其中涉及到了中文object name的问题,使用URL编码成功解决了该问题。但对URL编码的前世今生,不是十分了解,心里难免骨鲠在喉,所以今天做个小研究,作此博客。

原理

URI规范里定义了保留字符、非保留字符和其他字符,保留字符比如:,/等等,在HTTP协议里有语法上的意义,像 A, B,a等字符属于非保留字符,像中文或者其他语言字符,则属于其他字符。为了对保留字符做转义、或者方便传输和显示,所以产生了URL编码,也叫做百分号编码。

保留字符编码: 取保留字符ASCII码16进制,前加%即可,

其他字符:转为UTF-8编码,然后16进制表示,前加%即可。

参考

维基百科URL编码

Table of Contents