Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2015, 20:53   #1
Blondy
Участник клуба
 
Аватар для Blondy
 
Регистрация: 07.07.2009
Сообщений: 1,385
По умолчанию Какие символы все-таки можно использовать в названии файла?

Нас всегда учили - не использовать в названии файла точку, пробел, и, конечно, использовать только латинские буквы. И тут вдруг я в одном учебнике встречаю, мол, используйте хоть латиницу, хоть кириллицу, хоть пробел, главное не задействуйте зарезервированные символы (типа звездочки, знак вопроса, слэши ит.д.). Я удивилась, полезла смотреть на просторах Интернета - и действительно, многие материалы утверждают, что от символа пробела, или от кириллицы в названии файла особой беды не будет.

Кто же прав? Есть какие-то стандарты, весомые аргументы и примеры, чтобы как говорится, "с цифрами в руках" доказать людям, что самое разумное в Windows ограничится в названии файла буквами латиницей, 0-9, не пытаться использовать ту же точку, после которой символы могут быть восприняты как расширение файла?

Или может быть, такие требования были когда-то в глубокой древности, а сейчас файловые системы и операционные системы настолько далеко ушли, что ограничения на использование некоторых символов не являются критичными?
"Все мы жаждем чудес. Чисто человеческое свойство." Carl Sagan
Blondy вне форума Ответить с цитированием
Старый 25.08.2015, 21:00   #2
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

ну так сейчас все имена хранятся в юникоде, поэтому в плане выбора имени файла в винде действуют только ограничения на длину имени в 256 символов, и на использование зарезервированных символов.
https://msdn.microsoft.com/en-us/lib...ng_conventions
f.hump вне форума Ответить с цитированием
Старый 25.08.2015, 21:06   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Кто же прав? Есть какие-то стандарты, весомые аргументы и примеры, чтобы как говорится, "с цифрами в руках" доказать людям, что самое разумное в Windows ограничится в названии файла буквами латиницей, 0-9, не пытаться использовать ту же точку, после которой символы могут быть восприняты как расширение файла?
Проблемы с кириллицей ушли вроде со времен 98-ой винды. Расширением считается все что после последней точки (одно время были даже такие вирусы с невероятно длинным названием, которое обрезалось по какой-то точке, типа это Jpg, а дальше было расширение exe, пользователь думал картинка, а система понимала как файл на исполнение). Единственным ограничением на кирилицу может стать обмен файлами с каким-нибудь экзотическим линуксом с не менее экзотическим хозяином того линукса. Счас уже все поголовно переходят на Юникод (файловые системы ставят по дефолту вроде), потому кирилица всем пофиг, также как и китайские иероглифы в принципе. Ограничения имеются по-прежнему на спецсимволы - это задание шаблонов (*, ?) и направление ввода-вывода (><|), а также создание параметров программ (- и /).
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 25.08.2015, 21:07   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в винде действуют только ограничения на длину имени в 256 символов
Уже нет. Только в качестве рекомендаций.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.08.2015, 21:09   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Причем нельзя именно анси их варианты, а вот, например, юникодовский ? можно
p51x вне форума Ответить с цитированием
Старый 25.08.2015, 21:22   #6
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

Цитата:
Причем нельзя именно анси их варианты, а вот, например, юникодовский ? можно
быть не может.
f.hump вне форума Ответить с цитированием
Старый 25.08.2015, 22:23   #7
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от f.hump Посмотреть сообщение
быть не может.
Скачайте вложение
Вложения
Тип файла: rar 123.rar (179 байт, 25 просмотров)
Вадим Мошев вне форума Ответить с цитированием
Старый 25.08.2015, 22:40   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Использовать можно, но в некоторых случаях нежелательно. Например, я никогда не буду на веб-сервере размещать файлы с кириллическими символами в имени. Даже пробелы стараюсь исключить, хотя с ними проблем не будет, просто не нравится, когда в адресной строке появляются %20.
Arigato вне форума Ответить с цитированием
Старый 25.08.2015, 23:18   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
не пытаться использовать ту же точку, после которой символы могут быть восприняты как расширение файла
Ну это разве что какая-то кривая самодельная функция определения расширения, вряд ли много где такое есть. Да и вообще расширение мало чему нужно, кроме винды для определения чем запускать, фильтра в диалогах выбора файла и т.п.
Во многих именах .NET dll (от MS в том числе) есть точки.

Про не латиницу аналогично, проблемы могут возникнуть с неюникодовскими программами (которые вполне можно встретить).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.08.2015, 01:54   #10
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,777
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Например, я никогда не буду на веб-сервере размещать файлы с кириллическими символами в имени.
Это от неумения работать с кодировками и непонимания сути кодировок вообще.
Vapaamies вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чем отличаются .exe & .com ? Все ли команды можно использовать в .com? ccccfr Операционные системы общие вопросы 7 04.03.2011 16:02
Можно ли использовать русские символы UTF-8 в названии переменных и функций? manking Visual C++ 2 18.09.2010 19:05
можно ли в качестве аргумента функции использовать имя текстового файла Arassir Общие вопросы Delphi 2 31.05.2010 23:12
Какие данные можно извлечь из exe файла?? Дима я Свободное общение 17 03.03.2010 20:08