Url 是统一资源定位器,web 浏览器需要通过 Url 来向 web 服务器请求页面

Hex 编码

Url 只能使用 ascii 码字符集,所以大部分的非英文字符需要转化成有效的 ascii 字符格式
Url 编码使用 % 加上两位 16 进制数来替代非 ascii 字符
Url 一般只涉及到字符串,很少有直接是数值 Byte 转换的

算法

  1. 检测字符串中的非 ascii 字符
  2. 获取非 ascii 字符对应的 utf8 字符,比如中文 “我” 对应的 utf8 编码是三个字符 “E6” “88” “91”
  3. 在每个字符前面加上字符 “%” 然后在拼起来得到字符串 “%E6%88%91”,该字符串就是 UrlEncode 码
  4. 同样我这里要强调一下,这个字符串知识显示出来的样子,底层实际上是个 9Byte 的数据,分别存放数值 37 69 54 37 56 56 37 57 49
  5. 另外遇到空格的时候,用 “+” 代替空格

不用举例子了,很简单