如何从C#中的gzip流解析gzip文件头?

如何从C#中的gzip流解析gzip文件头?,c#,gzip,C#,Gzip,我被迫使用较旧版本的SharpZipLib和标准Microsoft库来执行此操作。我有一个gzip文件,它的名称与归档文件中的文件名不同。我需要解析gzip文件头以返回原始文件名。以下是gzip网站上的文档: 还有一个java示例,看起来它可能正在做我想做的事情。它看起来像是在检查文件头,但实际上并没有读取文件名 (抱歉,无法发布超过1个超链接) ( 如果您能在这个问题上提供任何帮助,我们将不胜感激。谢谢!如果您最终解决了这个问题,那就好了。这不是最安全或最好的方法,但我需要一种快速而肮脏的方

我被迫使用较旧版本的SharpZipLib和标准Microsoft库来执行此操作。我有一个gzip文件,它的名称与归档文件中的文件名不同。我需要解析gzip文件头以返回原始文件名。以下是gzip网站上的文档:

还有一个java示例,看起来它可能正在做我想做的事情。它看起来像是在检查文件头,但实际上并没有读取文件名

(抱歉,无法发布超过1个超链接) (


如果您能在这个问题上提供任何帮助,我们将不胜感激。谢谢!

如果您最终解决了这个问题,那就好了。这不是最安全或最好的方法,但我需要一种快速而肮脏的方法来解决这个问题。因此,如果其他人需要了解这个问题或想要改进它,请点击这里

using (FileStream stream = File.OpenRead(filePath))
{
    int size = 2048;
    byte[] data = new byte[2048];
    size = stream.Read(data,0,size);

    if (data[3] == 8)
    {
        List<byte> byteList = new List<byte>();

        int i = 10;
        while (data[i] != 0)
        {
            byteList.Add(data[i]);
            i++;
        }
        string test = System.Text.ASCIIEncoding.ASCII.GetString(byteList.ToArray());
        Console.WriteLine(test);

    }
}
使用(FileStream-stream=File.OpenRead(filePath))
{
int size=2048;
字节[]数据=新字节[2048];
size=stream.Read(数据,0,size);
如果(数据[3]==8)
{
List byteList=新列表();
int i=10;
while(数据[i]!=0)
{
添加(数据[i]);
i++;
}
字符串测试=System.Text.ascienceoding.ASCII.GetString(byteList.ToArray());
控制台写入线(测试);
}
}