An encoding system manipulates L m-bit data symbols or sequences in
accordance with a "restricted-symbol" code to produce code words that
include error correction code (ECC) redundancy information and also meet
modulation requirements, such as run length. The system combines the data
and associated redundancy information of a code word D of the underlying
code and one or more predetermined symbols or sequences that are appended
to the data code word with the corresponding symbols or bit sequences of
a selected code word F, to produce a transmission code word C that
consists of symbols or sequences that meet the modulation requirements.
Thereafter, the system corrects any errors in the retrieved or received
code word C using the included redundancy information and the L m-bit
data symbols or sequences are then recovered by removing therefrom the
contributions of the code word F. The system may instead use the
restricted-symbol code strictly as a data code, by combining the
respective m-bit data symbols or sequences and one or more predetermined
symbols with one or more selected m-bit symbols or sequences, to produce
L+1 m-bit symbols or sequences that meet the modulation requirements. The
predetermined symbols or sequences are appended to the data to aid in
decoding, with the corresponding symbols in the encoded code word or data
symbols or sequences indicating to a decoder which selected code word,
symbols or sequences have been combined with the data.