История изменений
Исправление vbr, (текущая версия) :
Технически правильный подход это использовать нули. Всё остальное может попадаться в имени файла.
Если искать другие решения, в первую очередь приходит в голову двоеточие. Это относительно общепринятый в юниксе разделитель (например $PATH). Также двоеточие запрещено в винде, т.е. у опытных пользователей может быть какой-то неосознанный рефлекс против использования двоеточий в именах файлов, у меня - точно есть.
Если кто-то таки создал файл с двоеточием, ты можешь это двоеточие экранировать обратной косой чертой, ну и её саму придётся экранировать. Это будет с одной стороны понятно техническому пользователю, с другой стороны это можно однозначно парсить, с третьей стороны и двоеточие, и обратная косая черта в имени файла попадаются редко (кошмар виндузятника, хе-хе).
Ещё могу предложить какую-нибудь юникодную дрисню, которая точно не попадётся в имени файла, если специально не постараться. Там и пробелов штук 10 разных, и слеши всякие есть, и чего угодно можно найти.
Исправление vbr, :
Технически правильный подход это использовать нули. Всё остальное может попадаться в имени файла.
Если искать другие решения, в первую очередь приходит в голову двоеточие. Это относительно общепринятый в юниксе разделитель (например $PATH). Также двоеточие запрещено в винде, т.е. у опытных пользователей может быть какой-то неосознанный рефлекс против использования двоеточий в именах файлов, у меня - точно есть.
Если кто-то таки создал файл с двоеточием, ты можешь это двоеточие экранировать обратной косой чертой, ну и её саму придётся экранировать. Это будет с одной стороны понятно техническому пользователю, с другой стороны это можно однозначно парсить, с третьей стороны и двоеточие, и обратная косая черта в имени файла попадаются редко.
Ещё могу предложить какую-нибудь юникодную дрисню, которая точно не попадётся в имени файла, если специально не постараться. Там и пробелов штук 10 разных, и слеши всякие есть, и чего угодно можно найти.
Исходная версия vbr, :
Технически правильный подход это использовать нули. Всё остальное может попадаться в имени файла.
Если искать другие решения, в первую очередь приходит в голову двоеточие. Это относительно общепринятый в юниксе разделитель (например $PATH). Также двоеточие запрещено в винде, т.е. у опытных пользователей может быть какой-то неосознанный рефлекс против использования двоеточий в именах файлов, у меня - точно есть.
Ещё могу предложить какую-нибудь юникодную дрисню, которая точно не попадётся в имени файла, если специально не постараться. Там и пробелов штук 10 разных, и слеши всякие есть, и чего угодно можно найти.