David' Scott's UNADULTERATED RLE COMPRESSIONS

files updated on 2000 September 15

My main concern is to create compression routines that are of great use to the person who some day may want to compress data before encryption is used. I feel very strongly that a compression routine should be "one to one" on the previous page I give the rules for h2com.exe; However this was for 256 symbol adaptive huffman compression. This is an attempt to show how one can extend the concept to RLE programs. The first one is a change to one first used in BWTCODE.ZIP compression. The bwtrle.zip contains both the old RLE and the new RLEU which is fully bijective.
Next is an additional one for you to check out rleexta.zip

contains several others. A sample Batch programs to run them are contained in the file.

The first one is based as closely as possible on the one used in the original BZIP. Namely that for a small number of repeats in the middle of a file "aaa.....aaa" gets changed to "aaNa" and "caab" gets changed to "caa0b". I then changed it to avoid the gaps that occur in the other method. I used the same starting conditions for files even though I think it not the best. The only other changes are in the EOF handling. But the result is a compression that does not have information added to the file that the old way adds. This means the the new way will either compress to the same file as old or a smaller file since I don't add information that the old method does.

Example:
the file "aa1a1b" is uncompressed by UNRLE and then compressed by RLE
the file "aa3b" comes back so COMPRESS( UNCOMPRESS( X)) != X so it sucks.
when you try UNRLEU followed by RLEU you get the file you started with back. If one can find nonempty files that my code does not have this property then mine would fail. If anyone finds such a failure with my code please let me know.

ENTER here for MY Home Page