• Авторизация


Особенности национальных кодировок... 16-05-2006 17:26 к комментариям - к полной версии - понравилось!


Ну что ж, приделал я таки нормальную обработку юникодных имен.

Теперь все будет открываться, проверяться и отображаться корректно независимо от кодировки в чек-файле и от текущих языковых установок на компе. Не теряя астериски, умляуты и символы национальной кодировки. Да, "косяки" с именами, получившиеся в результате перекодировок также обрабатываются корректно. Выглядит все примерно так:

[558x557]
вверх^ к полной версии понравилось! в evernote
Комментарии (8):
Bor_ka 17-05-2006-13:20 удалить
А вот скажи... сможет он сделать такой финт. Снять рекурсивный хэш с СД, а потом сверить его с папкой? Ну, и наоборот, конечно. А формат известной программы md5deep кушает?
TraxxOfAxe 17-05-2006-13:53 удалить
Пока по задумке он сможет рекурсивно "проходить" все папки, начиная с заданной, и для файлов в каждой папке создавать либо проверять файл с чексуммами. Насчет CD еще не думал, но понятно, что создавать их надо не на самом CD :) Так что в принципе да, сможет. Про формат md5deep - да, кушает. И кушает аналогичные, созданные total commander.
Bor_ka 17-05-2006-13:55 удалить
Ну TC не умеет рекурсивно ходить. Вроде как. А вопрос СД более общий. Имеем две папки. Сканируем одну, записываем чек-файл в определённое место. Потом сверяем с другой, при этом оно должно поймать новый рут, ну и всё такое...
TraxxOfAxe 17-05-2006-14:31 удалить
TC вообще много чего не умеет. Пример: он прочекал файлы, в которых есть имена с астерисками или умляутами (например на французской или немецкой системе). Ессно, в чекфайл все записал as is. Так вот, на русскоязычной системе он такие файлы просто не сможет найти. Потому как преобразует имя файла в юникодное согласно региональным установкам локальной системы. Фишка в том, что такое преобразование делать нужно, но только не в данном случае. По поводу CD. Идею я понял, но как должна выглядеть реализация ? Т.е. в другом месте воссоздаем всю структуру проверяемых подкаталогов, и в них кладем соответствующие чек-файлы ? Не забывай, чек-файл не хранит в себе никакой информации о проверяемом каталоге.
Bor_ka 18-05-2006-15:45 удалить
Не, я имел в виду примерно как в md5deep. Ставлю сканировать директорию C:\ToBurn\DISK61 потом записываю результат, скажем в C:\ToBurn А потом сверяю с диском W:\ И вот в момент сверки проходит некая эвристика, отрезается лишняя часть пути C:|... заменяется на W: и т.п. Ибо в md5 файле хранится полный путь, начиная с диска.
TraxxOfAxe 18-05-2006-16:05 удалить
Только что посмотрел. Файл .md5, созданный md5deep, действительно может хранить полный путь к файлу. Честно говоря, не знал, потому что попадались только .md5 вообще без путей (и это правильно). Проблема в том, что я видел кучу разных вариантов .md5. Например: хэш имя_файла хэш *имя_файла имя_файла хэш MD5 (имя_файла) = хэш В общем, кто во что горазд. И, честно говоря, поддерживать _все_ эти варианты у меня нет ни малейшего желания. Тем более, что hasher хоть и умеет проверять .sfv и некоторые .md5, но создавать будет только чек-файлы в своем собственном формате .afv Вот детали этого формата и можно обсудить. P.S. Кстати, вот хранить _абсолютные_ пути в чек-файле я считаю идеологической ошибкой :) А насчет относительных путей - надо подумать.
Bor_ka 18-05-2006-17:44 удалить
Ну почему md5deep хранит абсолютные пути - фиг знает. Без относительных обойтись нельзя. У меня файлы с одинаковым именем тысячу раз могут встречаться на диске... Кстати, из него же. Для оптимизации (видимо) он умеет в первую позицию "псевдо-md5" файла сохранять размер. Размер не сошёлся - хэш даже запускать не надо. И так всё ясно.
TraxxOfAxe 19-05-2006-14:23 удалить
Сохранение размера файлов и поддержка относительных путей - точно будут.


Комментарии (8): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Особенности национальных кодировок... | TraxxOfAxe - Уголок глубоких мыслей | Лента друзей TraxxOfAxe / Полная версия Добавить в друзья Страницы: раньше»