Deflate is an example of another efficiency-utility. When it comes to reading and writing compressed data, this is an invaluable tool (together with GZIP). GZIPStream and Deflate-stream commands and code are useful to assist in compressing and unzipping data, information, for access, transmittal and retrieval, decoding, making sense of it, effectively and accurately.
To effect the compression of the data, there are two steps to the process: (i) Data and dynamic matching, replacing duplicate strings with pointers; and (ii) New, weighted symbols based on frequency of use are then put in its place
Developed originally for another purpose (PKZIP), by Phil Katz, an archiving tool, specified and accepted in standard RFC 1951. Free of any subsisting patents, (before LZW used in the GIF file format) now widely accepted and used in gzip (see elsewhere), compressed files and PNG image files, in addition to the ZIP file format.
Patent-free, commonly-used, accepted and effective data-compression industry standard. It is a zero-loss, (loss-less) data compression algorithm utility. It uses a combination of what is referred to as the LZ77 algorithm and Huffman coding (industry terms).
A Deflate stream consists of a series of data-blocks. This construct has every block, preceded by a 3-bit header. It uses an optimised Huffman data tree structure, that is customised for each block of data individually. Generation instructions are included, following the block header. (To illustrate…)
1-bit: Last block in stream marker:
1: last-block in the stream.
0: more blocks to process after this one.
2-bits: Encoding method used for this block type:
00: stored/raw/literal section follows, between 0 and 65535 bytes in length.
01: static Huffman compressed block, pre-agreed Huffman tree.
10: compressed block complete with the Huffman table supplied.
11: reserved, not to be used
Key Exam Points
- Use Deflate and GZIP for data compression and decipher, in the .NET Frameworks workspace
- Review the relevant chapters on reading and writing files and streams, Data Input/Output in the .NET Frameworks context and programming environment.
- For the exam, study practical, hands-on examples for Deflate that help you to gain a better understanding on this topic
- Take the practice test, exam, relevant Q&A Multiple Choice and Application type sample questions
This article is based on the 2nd edition of the Microsoft .Net Framework Application Training Kit with the purpose to help 70-536 Exam takers to succeed. I constantly look for ways to improve the content. Please leave a comment about this article or drop me a message if you would like to see changes for this site.