serialize,[php]serialize()函数什么意思
你是否曾想过,serialize和[php]serialize()函数什么意思之间是否存在联系?在本文中,小编将为您探索它们之间的关系,带您领略新的视角和见解。
C#里serializable是什么意思
序列化
序列化是指存储和获取磁盘文件、内存或其他地方中的对象。在序列化时,所有的实例数据都保存到存储介质上,在取消序列化时,对象会被还原,且不能与其原实例区别开来。
只需给类添加Serializable属性,就可以实现序列化实例的成员。
并行化是序列化的逆过程,数据从存储介质中读取出来,并赋给类的实例变量。
[Serializable]
public class Person
{
public Person()
{
}
public int Age;
public int WeightInPounds;
}
下面来看一个小例子,首先要添加命名空间
using System.Runtime.Serialization.Formatters.Binary;
下面的代码将对象Person进行序列化并存储到一个文件中
Person me= new Person();
me.Age= 34;
me.WeightInPounds= 200;
Stream s= File.Open("Me.dat",FileMode.Create);
BinaryFormatter bf= new BinaryFormatter();
bf.Serialize(s,me);
s.Close();
如果需要对部分字段序列化部分不序列化时,我们可以按照如下设置实现
[Serializable]
public class Person
{
public Person()
{}
public int Age;
[NonSerialized]
public int WeightInPounds;
}
请教大虾们:关于MFC Serialize()函数的使用机制,急!有分~
要让一个类能够实现串行化,要先让该类支持串行化,经过这样五个步骤:
1:该类派生于CObject,即在该类头文件中申明
2.在该类头文件中添加宏申明:DECLARE_SERIAL(class_name)
3.该类CPP文件中添加实现的宏申明:IMPLEMENT_SERIA(class_name,base_name,版本号)
4重写serial()
5构造一个该类的无参构造函数,
经过这样五个步骤才能使得在该类中正确使用serial()进行数据的串行化
[php]serialize()函数什么意思
一个描述 PHP数据的函数。返回值是一个字符串。有的时候为了把一些数据转为字符串存起来,但是希望保持数据原来有结构和内容。就要用到这个函数。
$a=array('data'=>"hi", 123);
$b=serialize($a);
echo$b;//这个就是描述过的数组但在这里是一个字符串而已
$c=unserialize($b);//把描述过的数据恢复
print_r($c);//还原成为$a,数组结构并没有丢失。
PHP序列化数据存储在数据库中使用json还是serialize好
1)空间的比较
serialize在编码后大概是json的1.5倍。
原因:
serialize后字符串包含了子串的长度,这可能是速度方面的优化,但是测试结果不尽人意。
serialize有更加详细的类型区分,而json只有四种类型,并且是以简单的符号表示。
2)速度的比较
在较小数据的情况下, serialize比json快数量级。
在大数据量的情况下,json比serialize稍微差一点
3)处理对象
json无法处理对象方法等数据。
4)使用范围
在前后端交互一般都使用JSON,另外,目前JSON只支持UTF-8编码的数据。
序列化使用serialize,特别是对象的存储。这是其存在的意义。
与对象无关的数据存储可以使用json,如包含大量数字的数组等。
这篇博客概括满全面:http://blog.csdn.net/hguisu/article/details/7651730
关于serialize,[php]serialize()函数什么意思的介绍到此结束,希望对大家有所帮助。