An encoding method for structured low density parity check codes, LDPC, comprising: determining an Mb×Nb base matrix used for encoding, wherein the base matrix comprises an Mb×(Nb-Mb) block A corresponding to systematic bits and an Mb×Mb block B corresponding to check bits, the base matrix has K0 up-and-down adjacent pairs, the K0 up-and-down adjacent pairs have K1 up-and-down adjacent pairs of a first type and K2 up-and-down adjacent pairs of a second type, wherein K0=K1+K2, the up-and-down adjacent pairs are a set constituted by two elements {hb ij , hb ((i+1) mod Mb)j } in the base matrix corresponding to non-zero square matrices, up-and-down adjacent pairs of the first type are up-and-down adjacent pairs that are congruential with (hb ij -hb ((i+1) mod Mb)j ) mod Q = a, and up-and-down adjacent pairs of the second type are up-and-down adjacent pairs that are congruential with (hb ij -hb ((i+1)mod Mb)j ) mod Q = d, wherein hb ij represents an element in an i th row and j th column of the base matrix and corresponds to a zxz zero square matrix, a zxz unit matrix or a cyclic shift matrix of a zxz unit matrix of a parity check matrix of a structured LDPC code, wherein a and d are not equal, a and d are integers greater than or equal to 0 and less than or equal to Q-1, Q is a factor of the expansion factor z of the structured LDPC code, i is a row index of the base matrix, j is a column index of the base matrix, i=0, 1, ..., Mb-1, j=0, 1, ..., Nb-1; and according to the base matrix and the expansion factor z corresponding to the base matrix, performing an LDPC encoding operation of obtaining a codeword of Nb×z bits based on source data of (Nb-Mb)×z bits, wherein z is a positive integer greater than 1, characterised in that K0 is a positive integer greater than or equal to 6 ∗ Mb, K2 is a positive integer greater than or equal to 0 and less than 2 ∗ Mb, and Q is 2. determining an Mb×Nb base matrix used for encoding, wherein the base matrix comprises an Mb×(Nb-Mb) block A corresponding to systematic bits and an Mb×Mb block B corresponding to check bits, the base matrix has K0 up-and-down adjacent pairs, the K0 up-and-down adjacent pairs have K1 up-and-down adjacent pairs of a first type and K2 up-and-down adjacent pairs of a second type, wherein K0=K1+K2, the up-and-down adjacent pairs are a set constituted by two elements {hb ij , hb ((i+1) mod Mb)j } in the base matrix corresponding to non-zero square matrices, up-and-down adjacent pairs of the first type are up-and-down adjacent pairs that are congruential with (hb ij -hb ((i+1) mod Mb)j ) mod Q = a, and up-and-down adjacent pairs of the second type are up-and-down adjacent pairs that are congruential with (hb ij -hb ((i+1)mod Mb)j ) mod Q = d, wherein hb ij represents an element in an i th row and j th column of the base matrix and corresponds to a zxz zero square matrix, a zxz unit matrix or a cyclic shift matrix of a zxz unit matrix of a parity check matrix of a structured LDPC code, wherein a and d are not equal, a and d are integers greater than or equal to 0 and less than or equal to Q-1, Q is a factor of the expansion factor z of the structured LDPC code, i is a row index of the base matrix, j is a column index of the base matrix, i=0, 1, ..., Mb-1, j=0, 1, ..., Nb-1; and according to the base matrix and the expansion factor z corresponding to the base matrix, performing an LDPC encoding operation of obtaining a codeword of Nb×z bits based on source data of (Nb-Mb)×z bits, wherein z is a positive integer greater than 1, characterised in that K0 is a positive integer greater than or equal to 6 ∗ Mb, K2 is a positive integer greater than or equal to 0 and less than 2 ∗ Mb, and Q is 2. <EOS>