The encoding of text files is affected by locale setting, which depends on the user's language, brand of operating system and possibly other conditions. Therefore, the assumed encoding is systematically wrong for files that come from a computer with a different setting, or even from a differently localized software within the same system. For Unicode, one solution is to use a byte order mark, but for source code and other machine readable text, many parsers don't tolerate this. Another is storing the encoding as metadata in the file system. File systems that support extended file attributes can store this as codice_1. This also requires support in software that wants to take advantage of it, but does not disturb other software.