The purpose of this work is to present the properties of sliding block codes between shift spaces, especially the existence, the extension and the decomposition. We investigate the existence and the extension of graph homomorphisms. We prove that for given two graphs there is a bi-resolving (or bi-covering) graph homomorphism between them exactly when their adjacency matrices satisfy certain matrix relations in Chapter 3. We give some sufficient conditions for a bi-resolving graph homomorphism to have a bi-covering extension with an irreducible domain, and prove that any bi-closing code between shift spaces can be extended to an $\It{n}$-to-1 code between irreducible shifts of finite type for all large $\It{n}$. In Chapter 4 we prove that for any embedding from a shift space to a mixing shift of finite type and for any number $\It{h}$ lying between their entropies, there exists a decomposition of the given code such that the intermediate shift space has $\It{h}$ as its entropy. We show that this does not hold when an embedding is replaced with a factor code. We present some conditions for a factor code between shift spaces to have a decomposition.