//序列化
IFormatter fm = new BinaryFormatter();
Stream sm = new MemoryStream();
fm.Serialize(sm, model); //model(对象) 里面又有值
sm.Seek(0, SeekOrigin.Begin);
StreamReader reader = new StreamReader(sm);
string strCart = reader.ReadToEnd();
reader.Close();
到这里 strCart 的值:\0\0\0\0\0\0\0\0\0\0\0\f\0\0\0AMYMF.Model, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null\0\0\0MYMF.Model.mr_ygzl\0\0\0_id_bh_mc_bm_tc_xb_zw_jbgz_dlxt_mm\a_tcflag\b_picpath\n_groupcode_sr_dh_dz_email_jkzt_xl_sfzh_sj_byxx_xh_bysj_dpbh\a_gnflag_falg\0System.DecimalSystem.DateTimeSystem.一些乱码....
//反序列化
StrCartNew 值是上面那些乱码
byte[] bt = System.Text.Encoding.Default.GetBytes(StrCartNew);
Stream smNew = new MemoryStream(bt);
IFormatter fmNew = new BinaryFormatter();
ygzl yg = (ygzl)fmNew.Deserialize(smNew);自然的报
二进制流“0”不包含有效的 BinaryHeader。这可能是由于无效流,或由于在序列化和反序列化之间的对象版本更改。
应该怎么该???
IFormatter fm = new BinaryFormatter();
Stream sm = new MemoryStream();
fm.Serialize(sm, model); //model(对象) 里面又有值
sm.Seek(0, SeekOrigin.Begin);
StreamReader reader = new StreamReader(sm);
string strCart = reader.ReadToEnd();
reader.Close();
到这里 strCart 的值:\0\0\0\0\0\0\0\0\0\0\0\f\0\0\0AMYMF.Model, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null\0\0\0MYMF.Model.mr_ygzl\0\0\0_id_bh_mc_bm_tc_xb_zw_jbgz_dlxt_mm\a_tcflag\b_picpath\n_groupcode_sr_dh_dz_email_jkzt_xl_sfzh_sj_byxx_xh_bysj_dpbh\a_gnflag_falg\0System.DecimalSystem.DateTimeSystem.一些乱码....
//反序列化
StrCartNew 值是上面那些乱码
byte[] bt = System.Text.Encoding.Default.GetBytes(StrCartNew);
Stream smNew = new MemoryStream(bt);
IFormatter fmNew = new BinaryFormatter();
ygzl yg = (ygzl)fmNew.Deserialize(smNew);自然的报
二进制流“0”不包含有效的 BinaryHeader。这可能是由于无效流,或由于在序列化和反序列化之间的对象版本更改。
应该怎么该???
解决方案 »
- 新手上路,路太难走了,请大家帮帮忙吧·!
- ORDER BY NEWID()的问题
- 简单问题,大神们,快来帮个忙,在线等......提前说谢谢了...
- 一个简单问题,请大家帮忙看看
- 如何做asp.net Web负载均衡 100分
- 如果在一个类里,共用同一个参数?
- 关于varchar字段的存储问题?
- Datagrid行变色问题。。。
- 请问:当我未输入时间时,系统怎么自动将它设为1900-1-1呀?
- 高手门,你们在c#中的页面是怎样调的?以前编写asp可以在dreamware中调,但是在。net中的DataGrid控件的单元格之间的距离都不能调,??
- 截取字符串问题
- 关于成绩分段与人数的问题。希望大家能指点指点小弟
IFormatter fm = new BinaryFormatter();
MemoryStream sm = new MemoryStream();
fm.Serialize(sm, "123"); //model(对象) 里面又有值
string _Value =Convert.ToBase64String(sm.ToArray());
byte[] bt = Convert.FromBase64String(_Value);
Stream smNew = new MemoryStream(bt);
IFormatter fmNew = new BinaryFormatter();
object a=fmNew.Deserialize(smNew);