1. A method of run-length encoding an image containing runs of white pixels and black pixels, comprising the steps of: a) acquiring the image to encode; b) determining the length of all unique pixel run-lengths contained within the image on a line-by-line basis, irrespective of pixel color; c) selecting a base of a numeral system, where the base is made up of digits; d) generating a number of unequal-length codewords equal to the base; e) determining, in order, pixel run-lengths, on a line-by-line basis, for each pixel run-length contained in the image, where counting on each line starts with a particular pixel color; f) representing each pixel run-length determined in step (e) in the numeral system of the base; g) determining the frequency of occurrence of each digit resulting from step (f); h) assigning the unequal-length codewords, according to ascending length of the unequal-length codewords, to the digits according to descending order of frequency of occurrence of the digits; and i) encoding the image by replacing each digit resulting from step (f) with the corresponding unequal-length codeword.