C#gzip流到字符串

C#gzip流到字符串,c#,.net,vb.net,C#,.net,Vb.net,我需要一种将GZipStream写入字符串的方法 我正在使用: GZipStream Decompress = new GZipStream(inFile, CompressionMode.Decompress) 我试过好几种方法,但都想不出来。 有人有什么想法吗 非常感谢,, Brett您有一个解压缩程序,因此需要从中读取数据。最简单的方法是使用具有返回字符串的方法的 比如: string res; using (var decompress = new GZipStream(inFile,

我需要一种将GZipStream写入字符串的方法

我正在使用:

GZipStream Decompress = new GZipStream(inFile, CompressionMode.Decompress)
我试过好几种方法,但都想不出来。 有人有什么想法吗

非常感谢,, Brett

您有一个解压缩程序,因此需要从中读取数据。最简单的方法是使用具有返回字符串的方法的

比如:

string res;
using (var decompress = new GZipStream(inFile, CompressionMode.Decompress))
using (var sr = new StreamReader(decompress)) {
  res = sr.ReadToEnd();
}
使用
语句确保关闭
infle
并释放任何其他资源。)


注意:假设
infle
包含编码为UTF-8或UTF-16的文本。二进制内容或其他文本编码可能会导致问题(您可以使用不同的
StreamReader
构造函数覆盖编码)。

使用时可能重复:var sr=new StreamReader(ms);var myStr=sr.ReadToEnd();字符串返回为空。在将GZipStream转换为MemoryStream时,我可能遗漏了什么?如果您的内嵌始终是一个文本文件,那么@Steven建议的解决方案/链接将起作用。如果格式不同,则只能使用bade64表示数据。