爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8363|回复: 1

请教二进制数组的BZIP2解压缩方法

[复制链接]

新浪微博达人勋

发表于 2021-2-5 19:09:40 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
天气雷达质控后数据是一个二进制文件,数据块部分采用BZIP2方式压缩,目前已经将数据块读入二进制数组,要想读取整个数据的话,c#应该如何将该二进制数组解压成4200*6200个数据的数组呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2021-2-23 19:20:56 | 显示全部楼层
大家看看这个解压缩方式对不对,目前在试运行,c#8.0+SharpZipLib1.3.1依赖包
#region 解压缩雷达数组
                byte[] CompressDATA = new byte[BlockLen];                 //按照头文件给出的数据字节长度存放雷达压缩数据               
                Buffer.BlockCopy(bytes, 256, CompressDATA, 0, BlockLen);
                BZip2InputStream BZipin = new BZip2InputStream(new MemoryStream(CompressDATA));
                MemoryStream re = new MemoryStream(4200 * 6200 * 2);
                int count;
                byte[] data = new byte[4200 * 6200 * 2];                  //存放解压缩数据
                while ((count = BZipin.Read(data, 0, data.Length)) != 0)
                {
                    re.Write(data, 0, count);
                }
                //byte[] overarr = re.ToArray();
                #endregion
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表