Я сжимаю мою строку следующим кодом:
//prepare
byte[] byteArray = Encoding.ASCII.GetBytes(txt);
MemoryStream stream = new MemoryStream(byteArray);
MemoryStream outStream = new MemoryStream();
//compress
BZip2.Compress(stream, outStream, false, 9);
//stringify
var reader = new StreamReader(outStream);
reader.BaseStream.Seek(0, SeekOrigin.Begin);
var str = reader.ReadToEnd();
, если я пытаюсь распаковать эту строку, я попал туда, метод Decompress выдает исключение EndOfStreamException
var compressedBytes = Encoding.ASCII.GetBytes(str);
var compressedStream = new MemoryStream(compressedBytes);
compressedStream.Seek(0, SeekOrigin.Begin);
MemoryStream decompressedStream = new MemoryStream((int)compressedStream.Length);
BZip2.Decompress(compressedStream, decompressedStream, false);
Вот следующееstacktrace, если кто-то знает эту библиотеку лучше, это может помочь
at ICSharpCode.SharpZipLib.BZip2.BZip2InputStream.FillBuffer () [0x0001c] in C:\projects\sharpziplib\src\ICSharpCode.SharpZipLib\BZip2\BZip2InputStream.cs:426
at ICSharpCode.SharpZipLib.BZip2.BZip2InputStream.BsR (System.Int32 n) [0x00002] in C:\projects\sharpziplib\src\ICSharpCode.SharpZipLib\BZip2\BZip2InputStream.cs:437
at ICSharpCode.SharpZipLib.BZip2.BZip2InputStream.RecvDecodingTables () [0x000e1] in C:\projects\sharpziplib\src\ICSharpCode.SharpZipLib\BZip2\BZip2InputStream.cs:508
at ICSharpCode.SharpZipLib.BZip2.BZip2InputStream.GetAndMoveToFrontDecode () [0x00026] in C:\projects\sharpziplib\src\ICSharpCode.SharpZipLib\BZip2\BZip2InputStream.cs:579
at ICSharpCode.SharpZipLib.BZip2.BZip2InputStream.InitBlock () [0x0009f] in C:\projects\sharpziplib\src\ICSharpCode.SharpZipLib\BZip2\BZip2InputStream.cs:379
at ICSharpCode.SharpZipLib.BZip2.BZip2InputStream..ctor (System.IO.Stream stream) [0x00121] in C:\projects\sharpziplib\src\ICSharpCode.SharpZipLib\BZip2\BZip2InputStream.cs:112
at (wrapper remoting-invoke-with-check) ICSharpCode.SharpZipLib.BZip2.BZip2InputStream..ctor(System.IO.Stream)
at ICSharpCode.SharpZipLib.BZip2.BZip2.Decompress (System.IO.Stream inStream, System.IO.Stream outStream, System.Boolean isStreamOwner) [0x00012] in C:\projects\sharpziplib\src\ICSharpCode.SharpZipLib\BZip2\BZip2.cs:27
У кого-нибудь есть предложение, где проблема может быть?