www_world
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Nimbussr Цитата: Применительно к Тоталу - теперь можно создать lstW-файлы с полной файловой структурой дисков, показать скрипту и он покажет есть ли в именах Unicode. | Это решается проще, с помощью Блокнота. При попытке сохранить текстовый файл в ANSI, содержащий символы за пределами 8-битной кодировки он выдаст сообщение об этом. Для поиска таких симоволов выше приведен регэксп (в него нужно добавить символ ^ после первой квадратной скобки, указывающий, что ищется символ за пределами набора в скобках). Это регэксп для русской локали. В TC прямой регэксп [^\x{00}-\x{ff}] будет искать имена независимо от локали системы за пределами win1252 (западноевропейской) кодировки. Для восточноевропейцев, турок и тд. неюникодсимволами будут другие наборы символов. То есть, в зависимости от того, что конкретный юзер считает юникод-символами* в именах файлов легко организовать поиск средствами самого TC _______________ * единого и универсального понятия этого не существует, поскольку на разных локалях это разный набор символов. Особого значения это понятие в целом на современных осях не имеет. Однако, для тех, кто хочет реально повысить совместимость имен файловой системы на любые случаи жизни, тем следует использовать в именах файлов и папок символы с номерами не более 127 из любой локали, поскольку они не зависят от локали системы. В остальных случаях - использование символов с номерами более 127 - имена файлов и папок будут зависимы от локали системы и могут вызывать проблемы в определенных случаях, даже если в этом наборе не будет символов с номерами выше 255 на конкретной локали (то есть, формально будут отсутствовать "юникод символы" в именах). И да, русские символы в именах - это всегда юникод символы, просто в силу того, что их номера только на русской локали транслируются в 8-битную кодировку win1251. Однако для файловой сичтемы и операционной системы - это юникод символы - всегда, независимо от того, верится кому-то в это или нет. Именно поэтому смена локали системы не влияет катастрофическим и необратимым образом на имена файлов и папок, содержащими символы с номерами большими 127. Цитата: где все не-ANSI символы заменяются на ? | Извиняюсь, но это уже маразм. Блокнот это сделает при сохранении в ansi без гпт, питонов и проч. пятых ног и хвостов. ТС позволяет пакетно за один проход заменять любой символ из набора на другой символ из набора в строгом соответствии. То есть, например, все французские а (с акцентами, домиками) можно заменить на простой английский а, все е на английский е и тд. Аналогичное можно проделать и с текстами (хотя, кому это нужно?!) Подробнее... | Всего записей: 644 | Зарегистр. 04-11-2018 | Отправлено: 05:45 09-09-2025 | Исправлено: www_world, 06:01 09-09-2025 |
|