Название: Замена символов имени файла Отправлено: ruzik от Июня 01, 2012, 21:47 Здравствуйте, существует следующая задача:
Нужно скачать иконку с сайта и сохранить её, именем должно быть имя сайта. Но проблема в точке в адресе сайта из-за которой возникает проблема сохранения иконки с таким именем. Соответственно нужно как-то заменить эти точки(восстанавливать имя сайта из названия иконки также требуется). Но заменив на символы типа -_ и тд, можно добиться неправильной трактовки, например иконки этих сайтов будут совпадать: forum-site.com forum.site.com Есть ли такой символ, который может быть включен в название иконки, но не может быть частью адреса сайта? Должно работать на Windows, Mac Os X и Linux. Заранее спасибо! Название: Re: Замена символов имени файла Отправлено: ruzik от Июня 01, 2012, 21:56 Символ уже придумал - левая или правая скобка.
Теперь вопрос на всех ли трех системах, указанных мною, скобка может быть частью имени файла. На Windows - да может. А вот Mac Os X и Linux возможности проверить нет, не подскажите как там с этим дело? Название: Re: Замена символов имени файла Отправлено: Alex Custov от Июня 01, 2012, 22:58 Но проблема в точке в адресе сайта из-за которой возникает проблема сохранения иконки с таким именем. Цитировать bool QImage::save ( const QString & fileName, const char * format = 0, int quality = -1 ) const Saves the image to the file with the given fileName, using the given image file format and quality factor. If format is 0, QImage will attempt to guess the format by looking at fileName's suffix. The quality factor must be in the range 0 to 100 or -1. Specify 0 to obtain small compressed files, 100 for large uncompressed files, and -1 (the default) to use the default settings. Returns true if the image was successfully saved; otherwise returns false. Название: Re: Замена символов имени файла Отправлено: andrew.k от Июня 01, 2012, 23:53 лучше не морочай себе голову и сохраняй как тебе удобно.
А в отдельный файл пиши соответствие имен файлов и имени сайта. somesite.com=93280234.png some-site.com=92402374.png А твой подход это костыли какие-то. Название: Re: Замена символов имени файла Отправлено: ruzik от Июня 02, 2012, 10:19 Оказывается я все-таки был не прав и точкa в Windows может быть частью имени файла кроме обозначения его расширения, а в Windows и Linux так же?
Название: Re: Замена символов имени файла Отправлено: Igors от Июня 02, 2012, 10:31 Оказывается я все-таки был не прав и точкa в Windows может быть частью имени файла кроме обозначения его расширения, а в Windows и Linux так же? В OSX может. Расширение часто игнорируется если тип файла не ноль. Лучше не связываться с изучением деталей различных файловых систем, а хранить имя сайта в хеше, как уже сказали выше. Обойдется дешевлеНазвание: Re: Замена символов имени файла Отправлено: mutineer от Июня 02, 2012, 11:26 Оказывается я все-таки был не прав и точкa в Windows может быть частью имени файла кроме обозначения его расширения, а в Windows и Linux так же? В линуксе сколько угодно точек может быть в имени файла, а может и не быть вообще. Никаких проблем это не вызовет (разве что точка в начале имени файла трактуется как маркер "скрытый файл") Название: Re: Замена символов имени файла Отправлено: GreatSnake от Июня 02, 2012, 13:05 В линуксе сколько угодно точек может быть в имени файла, а может и не быть вообще. Никаких проблем это не вызовет (разве что точка в начале имент файла трактуется как маркер "скрытый файл") Мало того в имени файла могут быть вообще любые символы - в unix-e никаких ограничений нет.Название: Re: Замена символов имени файла Отправлено: LisandreL от Июня 02, 2012, 13:52 Мало того в имени файла могут быть вообще любые символы - в unix-e никаких ограничений нет. Даже разделитель каталогов?Название: Re: Замена символов имени файла Отправлено: GreatSnake от Июня 02, 2012, 14:44 Даже разделитель каталогов? Поправочка: за исключением '/' и '\0'.Название: Re: Замена символов имени файла Отправлено: kambala от Июня 02, 2012, 17:22 слэш в мак ос вроде может быть в имени файла (наверняка смогу сказать попозже)
Название: Re: Замена символов имени файла Отправлено: Igors от Июня 02, 2012, 17:30 слэш в мак ос вроде может быть в имени файла (наверняка смогу сказать попозже) Может для файловой системы, но потом возникают трудности с парсингом полного имени. А вот двоеточие нельзя, оно раньше было разделителем пути (до того как поперся posix)Название: Re: Замена символов имени файла Отправлено: ruzik от Июня 02, 2012, 21:49 Понятно, спасибо за помощь!
|