c# - PHP 在 C# 中的 'gzuncompress' 函数?

标签 c# php

C#中PHP的'gzuncompress'函数? C#中有类似PHPs gzuncompress的功能吗?

最佳答案

您将使用 GZipStream读取数据。如果源本身是一个 Stream,这将特别方便,但如果您有一个 byte[],只需使用一个 new MemoryStream(existingData) :

private static byte[] GZipUncompress(byte[] data)
{
    using(var input = new MemoryStream(data))
    using(var gzip = new GZipStream(input, CompressionMode.Decompress))
    using(var output = new MemoryStream())
    {
        gzip.CopyTo(output);
        return output.ToArray();
    }
}

还有:

private static byte[] GZipCompress(byte[] data)
{
    using(var input = new MemoryStream(data))
    using (var output = new MemoryStream())
    {
        using (var gzip = new GZipStream(output, CompressionMode.Compress, true))
        {
            input.CopyTo(gzip); 
        }
        return output.ToArray();
    }
}

另请注意,“inflate”/“deflate”方法类似,但使用的是 DeflateStream

请注意,为了方便起见,我在这里只使用了 byte[] 方法;您通常应该更喜欢基于 Stream 的 API,因为它可以更方便地扩展到大数据。

关于c# - PHP 在 C# 中的 'gzuncompress' 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7036925/

相关文章:

c# - 启动同一个线程两次 - 第一个完成后的第二次

c# - 我的 C# 和 PHP 解密方法有何不同?

c# - 有什么方法可以知道谁持有对某个对象的引用?

php - PDO 中的随机行数

php - Paypal IPN : log for manual investigation

php - 想从主 PHP 脚本运行后台 PHP 脚本

php - 如何在 NetBeans 中完成 jQuery 代码?

C# ServiceStack.Redis SetAll 过期

php - 显示一小部分内容 - wordpress

c# - 条件运算符表达式(连续几个)