Xamarin C# for Android: Zlib替代方案
Xamarin C# for Android: Zlib替代方案
我目前正在从一个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: Corrupted data ReadInternal at System.IO.Compression.DeflateStreamNative.Ch…} System.IO.IOException"的异常。
这个异常发生在
decompressionStream.Read(myCompressedByte , 0,myCompressedByte.Length );