day16-JavaScript序列化以及转义

一、前言

  我们在python里面也学过序列化,是用json模块,今天我们就来看看js的序列化和转义是怎么做的。

二、序列化

2.1、序列化

说明:将对象转换为字符串,用法:JSON.stringify()

>>>li = [11,22,33,44]
[11, 22, 33, 44]
>>>JSON.stringify(li);
"[11,22,33,44]"

2.2、反序列化

说明:将字符串转换为对象类型,用法:JSON.parse()

>>>s = "[11,22,33,44]"
"[11,22,33,44]"
>>>JSON.parse(s)
(4) [11, 22, 33, 44]

三、转义

  所谓转义就是把你的中文转换为特殊格式。

3.1、encodeURI()

说明:URI中的转义字符

>>>http ="https://www.sogou.com/web?query=张其高"
"https://www.sogou.com/web?query=张其高"
>>>encodeURI(http);
"https://www.sogou.com/web?query=%E5%BC%A0%E5%85%B6%E9%AB%98"

3.2、decodeURI()

说明:URI中未转义的字符

>>>http ="https://www.sogou.com/web?query=张其高"
"https://www.sogou.com/web?query=张其高"
>>>encodeURI(http);
"https://www.sogou.com/web?query=%E5%BC%A0%E5%85%B6%E9%AB%98"
>>>decodeURI(encodeURI(http))
"https://www.sogou.com/web?query=张其高"

3.3、encodeURIComponent()

说明:URI组件中的未转义字符

>>>http ="https://www.sogou.com/web?query=张其高"
"https://www.sogou.com/web?query=张其高"
>>>encodeURIComponent(http)
"https%3A%2F%2Fwww.sogou.com%2Fweb%3Fquery%3D%E5%BC%A0%E5%85%B6%E9%AB%98"

3.4、decodeURIComponent()

说明:URI组件中的未转义字符

>>>http ="https://www.sogou.com/web?query=张其高"
"https://www.sogou.com/web?query=张其高"
>>>encodeURIComponent(http)
"https%3A%2F%2Fwww.sogou.com%2Fweb%3Fquery%3D%E5%BC%A0%E5%85%B6%E9%AB%98"
>>>decodeURIComponent(encodeURIComponent(http))
"https://www.sogou.com/web?query=张其高"

3.5、escape()

说明:对字符串转义

>>>http ="https://www.sogou.com/web?query=张其高"
"https://www.sogou.com/web?query=张其高"
>>>escape(http)
"https%3A//www.sogou.com/web%3Fquery%3D%u5F20%u5176%u9AD8"

3.6、unescape()

说明:给转义字符串解码

>>>http ="https://www.sogou.com/web?query=张其高"
"https://www.sogou.com/web?query=张其高"
>>>escape(http)
"https%3A//www.sogou.com/web%3Fquery%3D%u5F20%u5176%u9AD8"
>>>unescape(escape(http))
"https://www.sogou.com/web?query=张其高"

3.7、URIError

说明:由URI的编码和解码方法抛出

 

问题:我们在登录的时候,用户名和密码为何保留一个月之久?

  客户端登录->服务端 -> 服务端给你发一个字符串过来->拿到字符串->对字符串做处理,然后保存在本地中或者浏览器中(cookie),这个处理就会用到escape()转义->再给服务器发送的时候unescape()再解码,

所以cookie就是把数据经过转义(escape)后,保存在cookie中。

posted @ 2018-01-20 16:46  帅丶高高  阅读(150)  评论(0编辑  收藏  举报