12得票3回答
.NET GZipStream解压缩产生空流

我尝试序列化和压缩一个WPF FlowDocument,然后做相反的操作 - 解压缩字节数组并反序列化以重新创建FlowDocument - 使用 .NET 的GZipStream类。我遵循MSDN上描述的示例,并有以下测试程序:var flowDocumentIn = new FlowDoc...

11得票1回答
通过BinaryReader解压缩字节数组得到空字符串

我正在尝试使用二进制读取器将字节数组解压缩并转换为字符串。执行以下代码时,inStream的位置从0更改为数组的长度,但str始终为空字符串。BinaryReader br = null; string str = String.Empty; using (MemoryStream inSt...

11得票2回答
GZipStream能够正常工作,但扩展名丢失。

我使用下面的代码压缩文件,它可以正常工作,但是当我使用 WinRar 解压缩时,我得到的原始文件名没有扩展名,如果文件名是 myReport.xls,那么在解压缩时我只能得到 myReport,有什么线索吗?using (var fs = new FileStream(fileName, Fi...

10得票2回答
GZipStream抱怨头部的魔数不正确

我正在尝试使用美国国家气象局的数据,但最近有些变化,GZip文件无法打开。 .NET 4.5 报告了以下问题... Message=The magic number in GZip header is not correct. Make sure you are passing in a ...

10得票4回答
GZipStream无法读取整个文件

我有一些下载并解压缩gzipped文件的代码。问题是,我无法将其完全解压缩,它只读取前4096个字节,然后大约还有500个字节。Byte[] buffer = new Byte[4096]; int count = 0; FileStream fileInput = new FileStrea...

9得票1回答
GZipStream压缩问题(丢失字节)

我在使用GZip序列化器时遇到了一些奇怪的问题。 我试图将包含数据的对象进行序列化。 以下代码在调试中给出结果(在POINT1处):ms.Length = 100028,uncompressedStream.Length = 100027。 在POINT1之后,会出现异常“在完成解析之前...

9得票1回答
如何在流中解压GZip(C#)?

这段代码接收了GZip编码的字符串。我该如何解码它呢? Stream stream = ret.GetResponseStream(); System.IO.StreamReader reader = new System.IO.StreamReader(stream, Encoding....

9得票5回答
GZipStream和DeflateStream生成的文件更大

我正在尝试在C#中使用deflate/gzip流进行压缩,但似乎压缩后的文件比之前还要大。 例如,我压缩了一个900ko的docx文件,但它生成了一个1.4Mo的文件! 而且我尝试过的每个文件都是如此。 也许我在操作方式上有误?这是我的代码: FileStream input = ...

9得票2回答
使用GZipStream在C#中压缩空输入会导致无效的gz文件

我正在使用C#的GZipStream类来压缩一些输入数据,但问题是当输入为空时,它会创建一个0字节的文件。在这种情况下,如果我尝试使用7zip来解压缩生成的.gz文件,它会报错并提示格式无效。如果我的输入不为空,那么它就可以正常工作。请告诉我如何创建一个有效的.gz文件,以便解压缩成一个0字节...

8得票1回答
GZipStream在写入FileStream时可以正常工作,但无法在MemoryStream中工作。

如果压缩一些JSON文本,并使用FileStream将其写入文件,我会得到预期的结果。然而,我不想写入磁盘。我只想要压缩数据的内存流。 FileStream 压缩: string json = Resource1.json; using (MemoryStream input = new...