Мир цифровой информации
Если вам кажется, что нет ничего проще, чем придумать имя для файла или папки, то скорее всего вы ошибаетесь. Существуют правила из-за которых нельзя назвать файл любым именем как обычный физический предмет. Для начала проясним, что такое имя файла, и как оно используется.
Понятия «путь» и «имя файла»
Очень часто в компьютерной литературе используются термины «путь» и «имя файла» под разными значениями. Обычно под словом «путь» понимают адрес или расположение файла, т. е. диск, папка и подпапки в которых расположен файл. Однако Microsoft и другие считают, что в путь к файлу входит не только его расположение но и само имя файла. А некоторые подразумевают под словом «путь» только имена файла и папок, в которых он расположен, без указания диска. Некоторые пользователи полагают, что «имя файла» не включает расширение. В данной статье расширение всегда является частью имени файла. На примере ниже синим цветом выделен путь к файлу, а красным имя файла.
X:\папка\подпапка\ файл.расширение
Зарезервированные символы и имена
Большинство часто употребляемых символов разрешается использовать в имени файла. Имя файла не должно содержать „ ” (знак больше), „:” (двоеточие), „ «” (двойные кавычки), „ /” (слеш), „ \” (обратный слеш), „ |” (вертикальная черта), „ ?” (вопросительный знак), „ *” (звездочка), а также не может заканчиваться точкой или пробелом. Файлы также нельзя называть зарезервированными именами устройств: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, и LPT9.
Ограничения на длины имен файлов и путей
Существуют ограничения на длину имени файла и на длину пути. Абсолютное ограничение длины имени файла вместе включая путь к нему равно 260 символам. Этот предел называют термином MAX_PATH. На самом же деле на практике пределы для имен еще меньше из-за ряда других ограничений. Например, каждая строка на конце должна содержать так называемый нулевой символ, который обозначает конец строки. Несмотря на то, что маркер конца строки не отображается, он учитывается как отдельный символ при подсчете длины, а значит остается 259 символов доступных для имени файла и пути к нему. Первые три символа в пути используются для обозначения диска (например, C:\). Это уменьшает предел для имен папок, подпапок и файла до 256 символов.
На имя объекта (папки или файла) наложено ограничение длины 255 символов. Этот предел действителен только, если объект не расположен внутри папки. Так как при расположении объекта внутри папки, сумма длин всех папок в которых он расположен, разделителей и имени объекта ограничена 256 символами, то предел длины самого имени объекта меньше 255 символов.
Почему в названии файлов нельзя использовать некоторые знаки (* / и др.)?
Потому что эти символы являются служебными и если использовать их в названии файлов, у системы возникнут большие проблемы с пониманием того, что вы хотели сказать.
Возьмем пример с обратной косой чертой (\)
Допустим, вы пользователь Windows и вы хотите добавить файл в папку C:\Users\Public\Music
Если ваш файл будет называться melody.mp3, то путь до файла (адрес, по которому компьютер будет искать этот файл, если вы попросите) будет выглядеть как C:\Users\Public\Music\melody.mp3
Это просто и понятно. Но допустим, вы решили назвать файл my\melody.mp3
Путь в такой ситуации выглядел бы как C:Users\Public\Music\my\melody.mp3
Если вы захотите открыть файл, компьютер будет искать папку my внутри папки Music. Естественно, он ее не найдет. Чтобы избежать таких ситуаций, пользователям не разрешается использовать \ в названиях
Прямая косая черта / тоже относится к служебным символам и используется для параметров команд (это редко нужно рядовому пользователю, конечно).
Символ * тоже относится к служебным: при поиске по файлам он используется для обозначения произвольного набора символов. Например, если вам нужно выбрать все текстовые файлы, начинающиеся на A, вы можете указать в поиске такое: A*.txt и получите список всех подходящих файлов. Очевидно, что использование звездочки в названиях создало бы много проблем.
2 5 · Хороший ответ
Здравствуйте, как можно поставить символ слэш в названии файла? Я скачал файл с интернета, в названии которого используется слэш.?
Можно предложить вариант, который упрощенно выглядит следующим образом.
Вся емкость жесткого диска, флешки, дискеты и т.д. разделена на сектора небольшого объема. Есть программы, позволяющие изменять информацию в указанном секторе.
Используя такие программы и найдя сектор, в котором хранятся названия файлов, можно изменить любой из символов в названии выбранного файла на слеш или любой другой знак.
Как защитить право на логотип, разработанный для себя,но без регистрации товарного знака?
А Вам и не надо ничего регистрировать. Авторское право остаётся за Вами с момента создания лого.
Очень много символов требует этот сайт, вот такие вот дела.
Что означает дополнительная буква L в названии лекарств?
Если я вас правильно понял, то это что-то вроде L-тироксина, L-аргинина. L — это обозначение левовращающего оптического изомера (энантиомера) вещества. Некоторые вещества имеют один химический состав, но могут находиться в разных изоформах-состояниях. При этом разные оптические изомеры по существу являются зеркальными отражениями друг друга. Они могут иметь совершенно разные свойства и эффекты на организм: D-меторфан (декстрометорфан) — диссоциатив, а L-меторфан (левометорфан) — опиоидный анальгетик. У изомеров может быть разное сродство к одним и тем же рецепторам, поэтому выделенный изомер может быть эффективнее смеси (рацемата), из которой этот изомер не выделяли.
1 3 · Хороший ответ
Почему в Windows нельзя назвать папку «aux»?
Потому что это имя зарезервировано для стандартного устройства. Это наследие операционной системы MS-DOS. Имена стандартных устройств не могут использоваться как имена файлов или папок. Стандартных устройств немного. Вот их полный список.
AUX — Первый последовательный порт.
СОМ1,СОМ2, . — Последовательные порты.
LPT1,LPT2. — Параллельные порты.
NUL — Фиктивное устройство (для тестирования).
PRN — Первый параллельный порт.
6 3 · Хороший ответ
Как выглядит знак авторского права?
Многие ошибочно полагают, что знак охраны авторского права (знак копирайта) — это латинская буква «С» в окружности. Не совсем так: внешний вид знака охраны авторского права четко определен российским законодательством. Ему посвящена целая статья Гражданского кодекса — 1271, в которой говорится, что этот знак «помещается на каждом экземпляре произведения и состоит из следующих элементов:
- латинской буквы «C» в окружности;
- имени или наименования правообладателя;
- года первого опубликования произведения».
Кроме того, употребление символа регулируется государственным стандартом Российской Федерации ГОСТ Р 7.0.1-2003 «СИБИД. Знак охраны авторского права. Общие требования и правила оформления». Стандарт регулирует форму представления знака на следующих объектах:
- книги и брошюры;
- сериальные издания;
- ноты;
- картографические издания;
- художественные альбомы;
- аудио- и видеоиздания;
- электронные издания.
В соответствии с этим стандартом в знаке копирайта на части составных или производное произведение должен быть указан конкретный объект защиты права:
- пересказ;
- иллюстрации;
- вступительная статья;
- составление;
- перевод на русский (или любой другой) язык.
И тогда знак может приобретать следующий вид: «© Алексеева А.К., перевод на русский язык, гл. 1-2, 2015».
Windows недопустимые символы в имени файла
Если вы загружаете на сайт файлы (документы, изображения, архивы и пр.), и подразумевается, что доступ к этим файлам будет публичный, а не ограниченный списком избранных товарищей, нужно иметь в виду, что различные многочисленные пользователи сети интернет используют разные устройства ( настольные компьютеры, ноутбуки, планшеты, смартфоны, . ) и разные операционные системы (Mac, PC, Linux, . ).
И чтобы у всех ваши файлы адекватно открывались, отображались и скачивались, нужно перестраховаться и избегать использования в названиях файлов и каталогах сайта запрещенных символов.
Использование правильных названий для папок и файлов очень важно для web, особенно — для загружаемых файлов, таких как PDF-файлы, документы MS Word, электронные таблицы MS Excel и др.
Создавая и формируя любой документ, мы не имеем ограничений по используемым символам внутри него и можем писать в нем любые, даже запрещенные символы. Но для сохранения файла нужно присваивать ему имя с учетом некоторых правил и ограничений интернета.
Не используйте следующие запрещенные символы в названиях директорий и файлов:
# — pound (решетка) | — right angle bracket (знак «больше») | ! — exclamation point (восклицательный знак) | ` — backtick (обратная кавычка) |
& — ampersand (амперсенд) | * — asterisk (звездочка) | ‘ — single quotes (одинарные кавычки) | | — pipe (вертикальная черта) |
< — left bracket (левая фигурная скобка) | ? — question mark (вопросительный знак) | “ — double quotes (двойные кавычки) | = — equal sign (равно) |
> — right bracket (правая фигурная скобка) | / — forward slash (прямой слеш) | : — colon (двоеточие) | |
\ — back slash (обратный слеш) | — blank spaces (пробел) | @ — at sign (собачка) |
Не каждый сайт или сервер имеет механизм проверки файлов и, зачастую, даже если имя файла содержит запрещенные символы, вы все равно сможете загрузить его на сервер. Но вот скачать его, скорее всего, никто не сможет, особенно, через web-интерфейс.
Рассмотрим ситуацию, в которой пользователь загрузил на сайт PDF-файл, содержащий в названии символ «Решетка» (pound) — #. Сервер имеет операционную систему Linux. Поведение сервера при наличии таких символов в именах файлов будет неадекватным.
В этом случае апач считает что URL — это все, что находится перед знаком «Решетка», а все что после него — это якорь на HTML-странице, т.е. ссылка на конкретное место в HTML-документе. Соответственно, он не распознает его, как файл и не отдает пользователю.
Так как на большинстве сайтов используется автоматический Загрузчик файлов, который без лишних вопросов загружает то, что пользователь выбирает на своем компьютере. Поведение апача верное, но он не может отличить файл от html, для него всё является ссылкой, поэтому он так и будет обрабатывать.
Таким образом, нужно всего лишь не использовать символы запрещенные для имен и папок на сайте. Это самое простое в реализации.