Искажение имени файла
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2007 г. ) |
Процесс искажения имени файла в вычислительной технике включает в себя перевод имени файла для совместимости на уровне операционной системы . Это происходит, когда имя файла в файловой системе появляется в форме, несовместимой с обращающейся к нему операционной системой. Такое искажение происходит, например, в компьютерных сетях , когда компьютер под управлением Windows пытается получить доступ к файлу на сервере Unix , а имя этого файла содержит символы, недопустимые в Windows.
Производная файловая система FAT
[ редактировать ]Устаревшая поддержка в рамках VFAT
[ редактировать ]Типичный пример искажения имен происходит в файловых системах VFAT в версиях Windows, начиная с Windows 95 . Спецификация VFAT [ нужны разъяснения ] позволяет использовать длинные имена файлов (LFN). Для обратной совместимости с MS-DOS и более старым программным обеспечением Windows, которое распознает имена файлов длиной до 11 символов в формате 8.3 (т. е.: восьмибуквенное имя файла, точку и трехбуквенное расширение, например: autoexec.bat
), файлы с LFN сохраняются на диске в формате 8.3 ( longfilename.txt
становление longfi~1.txt
), при этом длинное имя файла хранится в другом месте на диске.
Обычно [ нужны разъяснения ] , при использовании совместимых программ Windows, использующих стандартные методы Windows [ который? ] При чтении диска подсистема ввода-вывода возвращает программе длинное имя файла, однако, если старое приложение DOS или старое приложение Windows попытается обратиться к файлу, оно будет использовать более старые API-интерфейсы только для 8.3 или работать на более низкий уровень и выполнить собственный доступ к диску, в результате чего возвращается имя файла 8.3. В этом случае имена файлов искажаются путем взятия первых шести символов, не являющихся пробелами, в имени файла и добавления тильды (~), а затем числа, чтобы гарантировать уникальность имени файла 8.3 на диске. Эта схема искажения может превратиться (например) Program Files
в PROGRA~1
. Этот метод сохраняется и сегодня, когда люди используют DOSBox для игр в классические игры для DOS или используют Windows 3.1 в сочетании с играми Win16 в 64-битной Windows.
Файловые системы Unix
[ редактировать ][ который? ]
Имена файлов Unix могут содержать двоеточия или обратную косую черту , тогда как Windows интерпретирует такие символы в других языках. [ который? ] пути. Соответственно [ нужны разъяснения ] , программное обеспечение может изменить файл Unix «Notes: 11\04\03» как «Notes_ 11-04-03», чтобы позволить программному обеспечению Windows получить удаленный доступ к файлу. Другие Unix-подобные системы, такие как Samba на Unix, используют другие [ нужны разъяснения ] искажение систем для сопоставления длинных имен файлов с именами файлов, совместимыми с DOS (хотя администраторы Samba могут настроить это поведение в файле конфигурации). [1]
MacOS
[ редактировать ]macOS в Finder отображает экземпляры « : » в именах файлов и каталогов с помощью « / ». Это связано с тем, что в классической Mac OS в качестве разделителя пути использовался внутренний символ «:». Однако при перечислении этих файлов или каталогов с помощью эмулятора терминала отображается символ «:», а не символ «/».
Ссылки
[ редактировать ]- ^ Экстайн, Роберт; Дэвид Коллиер-Браун; Питер Келли (ноябрь 1999 г.). «5.4 Искажение имен и дело». Использование Samba (1-е изд.). О'Рейли энд Ассошиэйтс, Инк . Проверено 23 октября 2009 г.