int HuffmanUnpack(int unpacked_size) { using (var input = new HuffmanDecompressor()) { input.Initialize(BaseStream); return(input.Continue(m_buffer, 0, unpacked_size)); } }
static void Main(string[] args) { System.ConsoleKeyInfo KInfo; string baseFolderPath = "..\\..\\..\\..\\"; string[] files = { baseFolderPath + "file3.bin" }; string outputFile = baseFolderPath + "output.bin"; string outputDirectory = baseFolderPath + "output\\"; HuffmanCompressor comressor = new HuffmanCompressor(4096, files, outputFile); comressor.CompressFiles(); Console.WriteLine(); Console.WriteLine("Press any key to continue..."); KInfo = Console.ReadKey(true); HuffmanDecompressor decompressor = new HuffmanDecompressor(outputFile, outputDirectory); decompressor.DecompressFiles(); }
public Span <Byte> Read(Stream input, Int32 compressedSize, Int32 uncompressedSize, Boolean isCompressed) { Span <Byte> data = _data.GetSpan(compressedSize); input.EnsureRead(data); if (!isCompressed) { if (compressedSize != uncompressedSize) { throw new NotSupportedException("if (compressedSize != uncompressedSize)"); } return(data); } Span <Byte> decompressed = _decompressed.GetSpan(uncompressedSize); HuffmanDecompressor.Decompress(data, decompressed); return(decompressed); }