一个现象,从浏览器地址栏复制网址,http://www.baidu.com/s?wd=格娜小屋,就是这样的,http://www.baidu.com/s?wd=%E6%A0%BC%E5%A8%9C%E5%B0%8F%E5%B1%8B。
实在不知道该如何取名,姑且先这么叫吧。
其实,照片文章主要是要讲解我们经常会在浏览器(xml,html)中遇到的一些编码,以及unicode,gbk,utf-8中的一些简要关系,以及后端的一些关联。
OK,让我们先看下场景1
从一个URL中看起:
http://www.baidu.com/s?wd=%E6%88%91%E6%98%AF%E5%A5%BD%E4%BA%BA
肯定有人奇怪wd=后面一串是什么玩意?
你可以用JavaScript中的decodeUri解析出来:
decodeURI("%E6%88%91%E6%98%AF%E5%A5%BD%E4%BA%BA")
//输出 "我是好人"
这里,推荐你阅读下,这篇文章。在这篇文章中,你会知道,为什么用decodeURI可以解码出,为什么unescape不可以。
言归正传,这串奇怪的字符到底是怎么出来的呢?
其实就是将UTF-8版的“我是好人”,传入了encodeURI,然后得到的。
这里有两点要注意,
1、本身文字内容的编码是UTF-8
2、传入encodeURI,其实就等于又进行了一次urlencode
没有错