Расширение имени файла: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Некоторые уточнения и пояснения
на каком источнике основано это исправление? отмена правки 128551245 участника 80.94.171.236 (обс.)
Строка 1: Строка 1:
{{орисс|дата=2022-05-31}}
{{орисс|дата=2022-05-31}}
'''Расширение имени файла''' ({{lang-en|filename extension}}, часто говорят просто '''расширение файла''' или '''расширение''') — [[последовательность]] [[Символ|символов]], добавляемых к [[имя файла|имени файла]] и предназначенных для идентификации типа ([[Формат файла|формата]]) [[файл]]а. Это один из распространённых способов, с помощью которых [[пользователь]] или [[программное обеспечение]] компьютера может определить [[тип данных]], хранящихся в [[Файл|файле]], например: имя.jpg — это фотографии, имя.avi — видео и т. п.
'''Расширение имени файла''' ({{lang-en|filename extension}}, часто говорят просто '''расширение файла''' или '''расширение''') — [[последовательность]] [[символ]]ов, добавляемых к [[имя файла|имени файла]] и предназначенных для идентификации типа ([[Формат файла|формата]]) [[файл]]а. Это один из распространённых способов, с помощью которых [[пользователь]] или [[программное обеспечение]] компьютера может определить [[тип данных]], хранящихся в [[файл]]е, например: имя.jpg — это фотографии, имя.avi — видео и т. п.


Расширение обычно отделяется от основной части имени файла [[Точка (знак препинания)|точкой]]. В [[операционная система|операционных системах]] [[CP/M]] и [[MS-DOS]] длина расширения была ограничена тремя символами, в современных операционных системах это ограничение отсутствует. Иногда могут использоваться несколько расширений, следующих друг за другом, например, «.tar.gz».
На самом деле имя файла никак не связано ни с типом, ни с форматом файла, которые определяются исключительно содержимым файла. Имя файла -- всего лишь запись в каталоге о файле. Если, например, переименовать файл формата PDF, приделав к его имени суффикс ".tiff", файл не превратится в растровое изображение. Мало того, подавляющее большинство программ, чтобы определить тип файла, формат, версию и прочее, что необходимо для адекватной интерпретации содержимого, не обращают никакого внимания на то, что содержится в имени (хоть горшком назови) -- они читают и анализируют первые байты файла, где располагается вышеуказанная информация.

Связывание типа файла и части его его имени (суффикс или расширение имени) было распространено в эпоху слабых компьютеров с DOS, которая имела примитивную и медленную файловую систему FAT. Программам не хватало ресурсов, чтобы открыть файл, прочитать его первые 16 байт и поискать в локальной базе сигнатур тип содержимого.

Современные системы давно уже не нуждаются в окаменелых костылях "расширения имени", однако в них нуждаются человеческие пользователи, поскольку не обладают функционалом, позволяющим прочитать начало файла и интерпретировать его сигнатурную часть. Поэтому условились, чтобы часть имени файла, чаще всего, последние его символы могли быть ассоциированы с приложениями, что отражено в открытой спецификации "Shared MIME database specification"<ref>{{Cite web|url=https://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec/|title=shared-mime-info-spec|website=www.freedesktop.org|access-date=2023-02-16}}</ref>.

Расширение имени в DOS, Windows и некоторых других системах обычно отделяется от основной части имени файла [[Точка (знак препинания)|точкой]]. В [[операционная система|операционных системах]] [[CP/M]] и [[MS-DOS]] длина расширения была ограничена тремя символами, в современных операционных системах MS Windows это ограничение отсутствует. Иногда могут использоваться несколько расширений, следующих друг за другом, например, «.tar.gz».


В файловой системе FAT16 имя файла и расширение являлись отдельными сущностями, а точка, разделявшая их, реально не являлась частью полного имени файла и служила лишь для визуального отделения имени файла от расширения. В файловых системах FAT32 и [[NTFS]] точка стала обычным разрешённым символом в имени файла, поэтому ограничения на количество точек в имени файла в этих системах и их местоположения были сняты (за некоторыми исключениями, например, все конечные точки в именах файлов просто отбрасываются).
В файловой системе FAT16 имя файла и расширение являлись отдельными сущностями, а точка, разделявшая их, реально не являлась частью полного имени файла и служила лишь для визуального отделения имени файла от расширения. В файловых системах FAT32 и [[NTFS]] точка стала обычным разрешённым символом в имени файла, поэтому ограничения на количество точек в имени файла в этих системах и их местоположения были сняты (за некоторыми исключениями, например, все конечные точки в именах файлов просто отбрасываются).
Строка 17: Строка 11:
Иногда расширение указывает формат лишь в общем (например, расширение [[.doc]] использовалось для множества различных форматов текста — как [[Текстовый файл|простого]], так и форматированного; а расширение «txt» не даёт никакой информации о том, в какой [[кодировка|кодировке]] текст в файле), из‑за чего необходимо использовать и другие способы определения формата.
Иногда расширение указывает формат лишь в общем (например, расширение [[.doc]] использовалось для множества различных форматов текста — как [[Текстовый файл|простого]], так и форматированного; а расширение «txt» не даёт никакой информации о том, в какой [[кодировка|кодировке]] текст в файле), из‑за чего необходимо использовать и другие способы определения формата.


Иногда расширение указывает только один из используемых в файле форматов (например, расширение «.ogg» первоначально использовалось для всех файлов в формате [[Ogg (контейнер)|Ogg]], независимо от [[кодек]]ов, которыми закодированы содержащиеся в контейнере Ogg данные). Также расширение обычно не указывает версию формата (например, файлы в разных версиях [[XHTML]] могут использовать одни и те же расширения).
Иногда расширение указывает только один из используемых в файле форматов (например, расширение «.ogg» первоначально использовалось для всех файлов в формате [[Ogg (контейнер)|Ogg]], независимо от [[кодек]]ов, которыми закодированы содержащиеся в контейнере Ogg данные). Также расширение обычно не указывает версию формата (например, файлы в разных версиях [[XHTML]] могут использовать одни и те же расширения).


== Другие способы указания формата ==
== Другие способы указания формата ==

Версия от 15:29, 16 февраля 2023

Расширение имени файла (англ. filename extension, часто говорят просто расширение файла или расширение) — последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которых пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле, например: имя.jpg — это фотографии, имя.avi — видео и т. п.

Расширение обычно отделяется от основной части имени файла точкой. В операционных системах CP/M и MS-DOS длина расширения была ограничена тремя символами, в современных операционных системах это ограничение отсутствует. Иногда могут использоваться несколько расширений, следующих друг за другом, например, «.tar.gz».

В файловой системе FAT16 имя файла и расширение являлись отдельными сущностями, а точка, разделявшая их, реально не являлась частью полного имени файла и служила лишь для визуального отделения имени файла от расширения. В файловых системах FAT32 и NTFS точка стала обычным разрешённым символом в имени файла, поэтому ограничения на количество точек в имени файла в этих системах и их местоположения были сняты (за некоторыми исключениями, например, все конечные точки в именах файлов просто отбрасываются).

Некоторые операционные системы или менеджеры файлов могут устанавливать соответствия между расширениями файлов и приложениями. Когда пользователь открывает файл с зарегистрированным расширением, автоматически запускается соответствующая этому расширению программа. Некоторые расширения показывают, что файл сам является программой.

Точность указания

Иногда расширение указывает формат лишь в общем (например, расширение .doc использовалось для множества различных форматов текста — как простого, так и форматированного; а расширение «txt» не даёт никакой информации о том, в какой кодировке текст в файле), из‑за чего необходимо использовать и другие способы определения формата.

Иногда расширение указывает только один из используемых в файле форматов (например, расширение «.ogg» первоначально использовалось для всех файлов в формате Ogg, независимо от кодеков, которыми закодированы содержащиеся в контейнере Ogg данные). Также расширение обычно не указывает версию формата (например, файлы в разных версиях XHTML могут использовать одни и те же расширения).

Другие способы указания формата

  • В некоторых операционных системах и файловых системах (например, HFS) информация о формате файла хранится в самой файловой системе.
  • Магические числа — последовательности байтов внутри самих файлов.
  • Shebang — в Unix‐подобных ОС ставится в начале исходного файла для указания интерпретатора, который должен вызываться при запуске этого файла. Состоит из символа комментария (#) и восклицательного знака (!), после которого указывается команда, которую требуется выполнить с данным файлом в качестве аргумента.

Ссылки