Abstract: A method for compressing FAT and FAT-like structures, which include runs of primitives and runs intervening codes, includes the steps of receiving a plurality of primitive runs in a memory and generating a plurality of variable-length code sequences where each code sequence is dedicated to a primitive run. Each code sequence indicates of its dedicated run, a primitive-type, a primitive runlength, the presence of an intervening run and, if present, an intervening runlength, and the presence of a jump value pointer. If a jump value pointer is present, the code sequence further indicates the jumplength, which is indicated as a difference (or .alpha.) value. The length of each code sequence varies depending on run characteristics such as primitive runlength, intervening runlengths and jumplength.