This data processing technique utilizes compacted data in the form of variable-length codes having length-representing prefix portions which themselves are variable-length encoded. The relatively small amount of storage needed when such a code format is used enables data to be conveniently encoded and handled as groups of characters rather than as single characters. The variable-length prefixes are decoded by a small, fast, search-only type of associative memory which furnishes a match-indicating signal as an address to another memory having conventional storage elements. The output of the latter may contain a base address in still another memory of conventional type and an indication of how many bits remain in the current variable-length code word. These remaining bits furnish a displacement value which, in combination with the base address, will locate the decoded fixed-length word or character group in the last memory unit. In those instances where the length of the variable-length codes would become excessively long (for the less frequently occurring character groups) the original fixed-length codes are employed, each being preceded by a common 'COPY' code. A special decoding procedure is invoked by this copy code.