Abstract
A code is a fix-free code if it is both a prefix code and a suffix code. Data encoded by a fix-free code can be decoded in the forward direction and the backward direction simultaneously, thus reducing the decoding time by half. In this thesis, we prove a sufficient condition for the existence of fix-free codes and provide some methods to construct a fix-free code from existing codes.