JavaScript序列化以及转义

序列化:把对象转换为流的过程称为对象的序列化;

反序列化:将流转换为对象的过程称为对象的反序列化。

序列化用途:

1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
2) 在网络上传送对象的字节序列。


     在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些seesion先序列化到硬盘中,等要用了,再把保存在硬盘中的对象还原到内存中。当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。此段来源于点击打开链接

JavaScript 序列化

1.JSON.stringify()将对象转换为字符串;JSON.parse()将字符串转换为对象



转义:

1.encodeURI(url)表示把字符串作为 URI 进行编码。把URI字符串采用UTF-8编码格式转化成escape格式的字符串。不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + ';     decodeURI()对应解码。

2.encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。不会被此方法编码的字符:! * ( ) 。      解码:decodeURIComponent()


3.escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串;所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。不会被此方法编码的字符: @ * / +。     解码:unescape()


总结:




猜你喜欢

转载自blog.csdn.net/beifangdefengchuilai/article/details/80519949