C# Gzip压缩后,linux解压缩的问题

代码小天王 2013-03-11 10:09:23
C#语言写了一个压缩程序,尝试了几种方式的压缩
1.winrar命令行压缩
2..net GzipStream压缩
3.IGzipCSharp组件压缩

但是问题是压缩后的文件在linux系统里不能正确解压,linux系统的解压方式为gzip命令解压。

我不能改变linux的解压方式,那我应该怎么修改我的程序,怎么实现windows和linux兼容的解压缩
...全文
257 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
雪影Me 2013-07-15
  • 打赏
  • 举报
回复
兄弟,能把你压缩代码贴一下嘛,我也遇到这个问题了,C# GZipStream 压缩后,liunx端没办法解压缩,用winrar看了,我压缩了三个文件,最后会合并到一个文件中的
代码小天王 2013-03-11
  • 打赏
  • 举报
回复
引用 8 楼 qldsrx 的回复:
原来你不是自己解压缩测试的啊,你最好先自己搭建Linux环境测试解压缩是否正常,很难保证对方是不是SB。
我没用过linux系统 解压的话是银行端负责。。。。。
qldsrx 2013-03-11
  • 打赏
  • 举报
回复
原来你不是自己解压缩测试的啊,你最好先自己搭建Linux环境测试解压缩是否正常,很难保证对方是不是SB。
silwol 2013-03-11
  • 打赏
  • 举报
回复
            using (GZipStream stream = new GZipStream(File.Create("test.gz"), CompressionMode.Compress))
            {
                byte[] bytes = Encoding.Default.GetBytes("123");
                stream.Write(bytes, 0, bytes.Length);
            }
gzip -d test.gz cat test ==== 123 我这边没问题啊 gzip -V ==== gzip 1.3.5 (2002-09-30) Copyright 2002 Free Software Foundation Copyright 1992-1993 Jean-loup Gailly This program comes with ABSOLUTELY NO WARRANTY. You may redistribute copies of this program under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. Compilation options: DIRENT UTIME STDC_HEADERS HAVE_UNISTD_H HAVE_MEMORY_H HAVE_STRING_H HAVE_LSTAT Written by Jean-loup Gailly.
代码小天王 2013-03-11
  • 打赏
  • 举报
回复
但是银行那边解压说是出现了问题
引用 5 楼 silwol 的回复:
.gz没问题 cp a.z b.gz gzip -d a.z gzip -d b.gz cat a cat b
silwol 2013-03-11
  • 打赏
  • 举报
回复
.gz没问题 cp a.z b.gz gzip -d a.z gzip -d b.gz cat a cat b
代码小天王 2013-03-11
  • 打赏
  • 举报
回复
引用 3 楼 silwol 的回复:
我试过用GZipStream直接把Stream写到文件里,然后在linux下用gzip直接解。如果他提示认不出文件格式的话,就把文件后缀改成.z 想压缩多个文件可以看下这个 http://www.codeproject.com/Tips/319438/How-to-Compress-Decompress-directories
银行那边说必须要gz后缀名。。。。
silwol 2013-03-11
  • 打赏
  • 举报
回复
我试过用GZipStream直接把Stream写到文件里,然后在linux下用gzip直接解。如果他提示认不出文件格式的话,就把文件后缀改成.z 想压缩多个文件可以看下这个 http://www.codeproject.com/Tips/319438/How-to-Compress-Decompress-directories
代码小天王 2013-03-11
  • 打赏
  • 举报
回复
引用 1 楼 qldsrx 的回复:
winrar肯定是不认了,你试试zip压缩,linux是支持zip的解压的。至于用C#压缩文件,那个文件名信息如何嵌入没研究过。
不能改用zip,因为银行那边认定gzip压缩算法,还有其他方式么
qldsrx 2013-03-11
  • 打赏
  • 举报
回复
winrar肯定是不认了,你试试zip压缩,linux是支持zip的解压的。至于用C#压缩文件,那个文件名信息如何嵌入没研究过。
代码小天王 2013-03-11
  • 打赏
  • 举报
回复
引用 12 楼 qldsrx 的回复:
迅雷快传、百度网盘、QQ文件中转站都可以,之后公开下链接即可,任何人看到都可以帮你测试。
今天重新测试了.net的GZipStream压缩,就行了,估计前2天是代码哪写错了。 但是现在又想请教一个问题 怎么把多个文件压缩到一个GZip文件里,并且解压出来也是多个文件
qldsrx 2013-03-11
  • 打赏
  • 举报
回复
迅雷快传、百度网盘、QQ文件中转站都可以,之后公开下链接即可,任何人看到都可以帮你测试。
代码小天王 2013-03-11
  • 打赏
  • 举报
回复
引用 10 楼 qldsrx 的回复:
不然你把压缩文件传给我或者silwol测试,我们都有Linux环境,如果购买过虚拟主机的话,也会有Linux环境。
恩 你QQ或者邮箱多少
qldsrx 2013-03-11
  • 打赏
  • 举报
回复
不然你把压缩文件传给我或者silwol测试,我们都有Linux环境,如果购买过虚拟主机的话,也会有Linux环境。

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧