基本上我希望使用二进制序列化将MyObject序列化为字符串。
这可能吗?如果是这样,怎么办?对于反序列化,从string到MyObject也是如此。
答案 0 :(得分:2)
我想将MyObject序列化 使用二进制序列化的字符串
这有点矛盾,但您可以从(内存)流中获取字节并将其转换为文本。当然,你的字符串不会非常“可读”。如果您希望它能够往返,您必须仔细选择编码。
string text = Convert.ToBase64String(strm.ToArray()); // corrected
以后
byte[] binary = Convert.FromBase64String(text);
var strm2 = new System.IO.MemoryStream(binary);
答案 1 :(得分:2)
你可以在这里采取两种简单的方法,要么应该正常工作。
使用XmlSerializer将其序列化为XML,而不是序列化为二进制。
序列化为二进制并使用Convert.ToBase64String()和Convert.FromBase64String()方法转换为/从二进制/字符串格式。
答案 2 :(得分:0)
Xmlserializer不会序列化只读属性,还有其他限制。