day16-JavaScript 序列化及转义
一、前言
我们在python里面也学过序列化,是用json模块,今天我们就来看看js的序列化和转义是怎么做的。
二、序列化
2.1、序列化
说明:将对象转换为字符串,用法:JSON.stringify()
|
1
2
3
4
|
>>>li = [11,22,33,44][11, 22, 33, 44]>>>JSON.stringify(li);"[11,22,33,44]" |
2.2、反序列化
说明:将字符串转换为对象类型,用法:JSON.parse()
|
1
2
3
4
|
>>>s = "[11,22,33,44]""[11,22,33,44]">>>JSON.parse(s)(4) [11, 22, 33, 44] |
三、转义
所谓转义就是把你的中文转换为特殊格式。
3.1、encodeURI()
说明:URI中的转义字符
|
1
2
3
4
|
>>>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中未转义的字符
|
1
2
3
4
5
6
|
>>>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组件中的未转义字符
|
1
2
3
4
|
>>>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组件中的未转义字符
|
1
2
3
4
5
6
|
>>>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()
说明:对字符串转义
|
1
2
3
4
|
>>>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()
说明:给转义字符串解码
|
1
2
3
4
5
6
|
>>>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中

浙公网安备 33010602011771号