刚把文件转两进制的写完,想起来原来还写过一个把类转两进制的,扒翻了半天找了出来,程序很短,就是转二进制,再把二进制再转成类
其中的压缩与加密一直没有实现,不会,什么时候会了什么时候加上
其中的压缩与加密一直没有实现,不会,什么时候会了什么时候加上
/// <summary>
/// 打包成二进制调用
/// </summary>
/// <returns></returns>
public static byte[] PackageBinary(object _message,bool compress,bool encrypt)
{
MemoryStream ms = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
bf.AssemblyFormat = FormatterAssemblyStyle.Full;
bf.TypeFormat = FormatterTypeStyle.TypesAlways;
//将callPackage的内容以二进制序列化到内存中
bf.Serialize(ms,_message);
ms.Seek(0,SeekOrigin.Begin);
byte[] buffer = new byte[ms.Length];
ms.Read(buffer,0,(int)ms.Length);
// 压缩加密
// if (decrypt)
// {
// //Decrpty(buffer);
// }
//
// if (expand)
// {
// //Expand(buffer);
// }
return buffer;
}
/// <summary>
/// 解包调用数据
/// </summary>
/// <param name="callPackage"></param>
/// <param name="expand"></param>
/// <param name="decrypt"></param>
/// <returns></returns>
public static object UnpackageBinary(byte[] callPackage,bool expand,bool decrypt)
{
// 解压解密
// if (decrypt)
// {
// //Decrpty(buffer);
// }
//
// if (expand)
// {
// //Expand(buffer);
// }
MemoryStream ms = new MemoryStream(callPackage);
ms.Seek(0,SeekOrigin.Begin);
BinaryFormatter bf = new BinaryFormatter();
bf.AssemblyFormat = FormatterAssemblyStyle.Full;
bf.TypeFormat = FormatterTypeStyle.TypesAlways;
object s = (object)bf.Deserialize(ms);
return s;
}
/// 打包成二进制调用
/// </summary>
/// <returns></returns>
public static byte[] PackageBinary(object _message,bool compress,bool encrypt)
{
MemoryStream ms = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
bf.AssemblyFormat = FormatterAssemblyStyle.Full;
bf.TypeFormat = FormatterTypeStyle.TypesAlways;
//将callPackage的内容以二进制序列化到内存中
bf.Serialize(ms,_message);
ms.Seek(0,SeekOrigin.Begin);
byte[] buffer = new byte[ms.Length];
ms.Read(buffer,0,(int)ms.Length);
// 压缩加密
// if (decrypt)
// {
// //Decrpty(buffer);
// }
//
// if (expand)
// {
// //Expand(buffer);
// }
return buffer;
}
/// <summary>
/// 解包调用数据
/// </summary>
/// <param name="callPackage"></param>
/// <param name="expand"></param>
/// <param name="decrypt"></param>
/// <returns></returns>
public static object UnpackageBinary(byte[] callPackage,bool expand,bool decrypt)
{
// 解压解密
// if (decrypt)
// {
// //Decrpty(buffer);
// }
//
// if (expand)
// {
// //Expand(buffer);
// }
MemoryStream ms = new MemoryStream(callPackage);
ms.Seek(0,SeekOrigin.Begin);
BinaryFormatter bf = new BinaryFormatter();
bf.AssemblyFormat = FormatterAssemblyStyle.Full;
bf.TypeFormat = FormatterTypeStyle.TypesAlways;
object s = (object)bf.Deserialize(ms);
return s;
}
浙公网安备 33010602011771号