Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
适用于Android的Xamarin C#:Zlib替代方案_C#_Android_Xamarin_Zlib - Fatal编程技术网

适用于Android的Xamarin C#:Zlib替代方案

适用于Android的Xamarin C#:Zlib替代方案,c#,android,xamarin,zlib,C#,Android,Xamarin,Zlib,我目前正在从sqlite数据库读取数据。 我在一篇专栏文章中遇到了麻烦 该列中的数据被压缩。 在Java中,我们可以使用Zlib,并且可以轻松地读取数据 data = zlib.decompress(row[3]) 我看到Xamarin没有在其IDE中翻译zlib,也没有内置的标准替代品。。 我见过一些可用的Zip组件,但它们集中在文件上,而不是直接提供数据 在Xamarin C#你会怎么做 编辑:到目前为止的代码 var myCompressedData = cursor.GetBlob

我目前正在从sqlite数据库读取数据。 我在一篇专栏文章中遇到了麻烦

该列中的数据被压缩。 在Java中,我们可以使用Zlib,并且可以轻松地读取数据

data = zlib.decompress(row[3])
我看到Xamarin没有在其IDE中翻译zlib,也没有内置的标准替代品。。 我见过一些可用的Zip组件,但它们集中在文件上,而不是直接提供数据

在Xamarin C#你会怎么做

编辑:到目前为止的代码

var   myCompressedData = cursor.GetBlob (cursor.GetColumnIndexOrThrow("TextCompressed")); 
byte[] myCompressedByte = myCompressedData ;
MemoryStream stream = new MemoryStream(myCompressedByte );

using (DeflateStream decompressionStream = new DeflateStream(stream   , CompressionMode.Decompress))
{
    decompressionStream.Read(myCompressedByte  , 0,myCompressedByte.Length  );
}
string UnCompressedString  = System.Text.Encoding.UTF8.GetString(myCompressedByte );
不知怎的,我得到了一个“{System.IO.IOException:System.IO.Compression.DeflateStreamNative.Ch..}System.IO.IOException处损坏的数据ReadInternal”

这个例外很流行

decompressionStream.Read(myCompressedByte  , 0,myCompressedByte.Length  );

您可以通过使用类来实现这一点

它包装了zlib,或者在旧版本中提供了一个标准的内置替代方案

此类表示Deflate算法,它是无损文件压缩和解压缩的行业标准算法。从net_v45开始,DeflateStream类使用zlib库


请看一下我的编辑。。试图让泄气气流work@Migz如何将字符串转换为流是一个独立的问题,也是一个经常被问到的问题:谢谢你的提示。。但是还没有走出困境。。有个错误。。(新编辑)。。如此接近。。顺便说一句,这些数据是用Java测试的,所以不确定为什么会出现新错误。。