Chip's Challenge uses RLE in the .dat files to encode the levels. I don't know if it would be of any help to anyone, but I've attached the source to my little (very incomplete) test program that decrypts the Chip's Challenge .dat files, including the level RLE code converted to an array for my program.
I doubt this will be of any help, but I though I would post, just in case!