  Let $K\subset \mathbb{R}$ be a self-similar set generated by some iterated
function system. In this paper we prove, under some assumptions, that $K$ can
be identified with a subshift of finite type. With this identification, we can
calculate the Hausdorff dimension of $K$ as well as the set of elements in $K$
with unique codings using the machinery of Mauldin and Williams \cite{MW}. We
give three different applications of our main result. Firstly, we calculate the
Hausdorff dimension of the set of points of $K$ with multiple codings.
Secondly, in the setting of $\beta$-expansions, when the set of all the unique
codings is not a subshift of finite type, we can calculate in some cases the
Hausdorff dimension of the univoque set. Motivated by this application, we
prove that the set of all the unique codings is a subshift of finite type if
and only if it is a sofic shift. This equivalent condition was not mentioned by
de Vries and Komornik \cite[Theorem 1.8]{MK}. Thirdly, for the doubling map
with asymmetrical holes, we give a sufficient condition such that the survivor
set can be identified with a subshift of finite type. The third application
partially answers a problem posed by Alcaraz Barrera \cite{Barrera}.
