将对象序列化为字符串 [英] Serialize object to string
问题描述
我正在研究TCP / IP项目,我需要通过套接字发送加密的程序包。我已经完成网络部分,可以发送字符串,但是我所有的包裹都是对象。因此,我必须序列化我的包类以进行字符串化和加密,然后在客户端收到反序列化并解密之后。
I am working on a TCP/IP project, I need to send encrypted packages via sockets. I've completed network part, I can send strings but all my packages are objects. So I have to serialize my package class to string and encrypt it, then after client receives deserialize and decrypt it. Cany you help me please?
Package.cs
Package.cs
public class Package
{
private string context;
public string Context
{
get { return context; }
set { context = value; }
}
private bool flag;
public bool Flag
{
get { return flag; }
set { flag = value; }
}
private int statusCode;
public int StatusCode
{
get { return statusCode; }
set { statusCode = value; }
}
public Package() { this.context = null; }
}
推荐答案
对于序列化,您可以使用 JavaScriptSerializer
For serialization you can use JavaScriptSerializer class.
然后向您的项目添加引用System.Web.Extensions;
Add reference System.Web.Extensions to your project then;
private string Serialize(object obj){
var serializer = new JavaScriptSerializer();
return serializer.Serialize(obj);
}
private object Deserialize(string json){
var serializer = new JavaScriptSerializer();
return serializer.Deserialize<object>(json);
}
对于加密/解密,您基本上可以使用Base64,但是如果您想要更特殊的答案,则需要告诉您有关要求的更多详细信息。
For encryption/decryption you can basically use Base64 but if you want more spesific answer, you need to tell more details about your requirements.
这篇关于将对象序列化为字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!