To make an encoder small-sized and to allow it to operate at a high speed.
By the encoding method, (m)-bit data are converted into an (n)-bit code, which is a code generated according to a finite state transition chart representing the limitations of ADS(alternating digital sum) and RDS (running digital sum) that a code sequence receives, and two states included in a set of states that the (n)-bit code starts with in the finite state transition chart are positioned symmetrically about the center point of the finite state transition chart, an ADS axis passing the center point of the finite state transition chart, or an RDS axis passing the center of the finite state transition chart. The (m)-bit data are encoded into an (n)-bit code word, starting with a specific state included in the set of the states that the code starts with and an (n)-bit code word starting with another state included in another state which is included in the set of the states that the code start with is obtained by further converting the encoded code word.