Linux не интерпретирует имена файлов или пути как имеющие какую-либо конкретную кодировку. Имена файлов могут содержать любой байт в любом порядке, кроме NUL (0x0) и / (0x2F). Решение о интерпретации принимает приложение.
Из-за запрета на байты NUL, UTF-16 не может использоваться на практике (его закодированная форма часто содержит байты NUL).
формат на диске для NTFS требует, чтобы имена файлов хранились в UTF-16. В этом случае используется опция монтирования iocharset
. Все имена UTF-16 из NTFS преобразуются с использованием этой кодировки для отображения в API файловой системы Linux (и наоборот). Файловые системы UDF, ISO9660, JFS и FAT также поддерживают хранение кодовых точек Unicode в определенной кодировке, поэтому iocharset
также имеет значение для них.
На практике чаще всего используется UTF-8 .