• 压缩和解压缩数据流


      //压缩压缩后的字节数组
            public byte[] Compress(byte[] data)
            {
                MemoryStream ms 
    = new MemoryStream();
                Stream zipStream 
    = new GZipStream(ms, CompressionMode.Compress, true);
                zipStream.Write(data, 
    0, data.Length);
                zipStream.Close();
                ms.Position 
    = 0;
                
    byte[] buffer = new byte[ms.Length];
                ms.Read(buffer, 
    0,int.Parse(ms.Length.ToString()));
                
    return buffer;
            }

    //解压缩
      public static byte[] Decompress(byte[] data)
            {
                
    try
                {
                    MemoryStream ms 
    = new MemoryStream(data);
                    Stream zipStream 
    = null;
                    zipStream 
    = new GZipStream(ms, CompressionMode.Decompress);
                    
    byte[] dc_data = null;
                    dc_data 
    = EtractBytesFormStream(zipStream, data.Length);
                    
    return dc_data;
                }
                
    catch
                {
                    
    return null;
                }
            }


            
    public static byte[] EtractBytesFormStream(Stream zipStream, int dataBlock)
            {
                
    try
                {
                    
    byte[] data = null;
                    
    int totalBytesRead = 0;
                    
    while (true)
                    {
                        Array.Resize(
    ref data, totalBytesRead + dataBlock + 1);
                        
    int bytesRead = zipStream.Read(data, totalBytesRead, dataBlock);
                        
    if (bytesRead == 0)
                        {
                            
    break;
                        }
                        totalBytesRead 
    += bytesRead;
                    }
                    Array.Resize(
    ref data, totalBytesRead);
                    
    return data;
                }
                
    catch
                {
                    
    return null;
                }
            }
  • 相关阅读:
    软件需求分析
    行高line-height 和vertical-align
    python中的集合基础知识
    python中字典常用的函数和用法
    python中字符串常用的函数
    day-75CRM
    day-74CRM
    day73CRM
    day-72Django源码解析
    day-71Django补充
  • 原文地址:https://www.cnblogs.com/aaa6818162/p/1541062.html
Copyright © 2020-2023  润新知