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 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, and 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 or equal to 2*Mb, 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 unit matrix or a cyclic shift matrix of a zxz unit matrix, 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, with Q being a factor of the expansion factor z of the structured LDPC code with Q being 2, 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 based on source data, wherein z is a positive integer greater than 1, wherein a total number of elements in a j th column of the base matrix corresponding to the non-zero square matrices is L j , the first element from top to bottom in the j th column of the base matrix corresponding to a non-zero square matrix is 0, L j is a positive integer greater than or equal to 1, and j=0, 1, ..., Nb-1. determining an Mb×Nb base matrix used for encoding, wherein 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, and 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 or equal to 2*Mb, 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 unit matrix or a cyclic shift matrix of a zxz unit matrix, 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, with Q being a factor of the expansion factor z of the structured LDPC code with Q being 2, 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 based on source data, wherein z is a positive integer greater than 1, wherein a total number of elements in a j th column of the base matrix corresponding to the non-zero square matrices is L j , the first element from top to bottom in the j th column of the base matrix corresponding to a non-zero square matrix is 0, L j is a positive integer greater than or equal to 1, and j=0, 1, ..., Nb-1. <EOS>