Canonical representation of quasi-cyclic codes