NameEditor — Пакетное переименование файлов и каталогов

Здесь можно обсудить ваш любимый плагин.
Rododendron
Posts: 13
Joined: Wed 25 Oct, 2017 09:30

NameEditor — Пакетное переименование файлов и каталогов

Post by Rododendron » Thu 26 Oct, 2017 06:43

Latest post of the previous page:

Не совсем так. Мне не удалось воспроизвести то, что меняет кодировку. Однозначно это VmWare, но я попробовал поперетаскивать, не получилось. Я точно не помню все свои действия, т.к. крякозябы я заметил не сразу. Но это и не по теме. Вопрос то был в том, как в Фаре поменять кодировку в именах файлов. Я Фар последний раз запускал еще когда он платным был, так что интерес больше спортивный, чем насущный (у меня файлы с норм кодировкой были в архиве).

2useven10
Posts: 3640
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 145 times

NameEditor — Пакетное переименование файлов и каталогов

Post by 2useven10 » Thu 26 Oct, 2017 09:10

Тоже из 'спортивного интереса'.
Если файлы с кракозябными именами сохранились...
Можете выполнить команду в каталоге с этими файлами: cmd /u /c dir > files.txt
и прислать полученный файл files.txt?
По крайней мере будет ясно что надо было перекодировать.

Rododendron
Posts: 13
Joined: Wed 25 Oct, 2017 09:30

NameEditor — Пакетное переименование файлов и каталогов

Post by Rododendron » Thu 26 Oct, 2017 11:37

Архиватор портил кодировку, а не WmVare. Кракозябы уже на Виртуальном Линуксе появляются после разархивирования zip-архива.
Приложил файл с кракозябами.
Attachments
files.txt
(4.33 KiB) Downloaded 82 times

2useven10
Posts: 3640
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 145 times

NameEditor — Пакетное переименование файлов и каталогов

Post by 2useven10 » Thu 26 Oct, 2017 12:05

Всё правильно.
Кривой юникод - 866.
Перекодировка не работает нормально, потому что ни одна нормальная кодировка здесь не годится.
Сначала надо избавиться от лишнего второго байта (0x00) в каждом символе, после этого
получается текст в кодировке 866 и можно воспользоваться 'нормальным' перекодированием.
Для избавления от нуля годится перекодирование в Latin1, поскольку для этой кодировки
перевод в юникод и обратно проходит как раз добавлением/удалением нулевого байта.

User avatar
John Doe
Бюрократ
Posts: 12072
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 28 times
Been thanked: 152 times

NameEditor — Пакетное переименование файлов и каталогов

Post by John Doe » Thu 26 Oct, 2017 12:16

2useven10 wrote:
Thu 26 Oct, 2017 12:05
Перекодировка не работает нормально, потому что ни одна нормальная кодировка здесь не годится.
Имена файлов в архиве были записаны в 866, без указания кодировки. При распаковке на линуксе архиватор записал их в ISO 8859. Не может такого быть?
2useven10 wrote:
Thu 26 Oct, 2017 12:05
Для избавления от нуля годится перекодирование в Latin1
Я не уловил, есть более прямой способ, чем тот, которым в итоге воспользовались?
Last edited by John Doe on Thu 26 Oct, 2017 12:54, edited 1 time in total.

2useven10
Posts: 3640
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 145 times

NameEditor — Пакетное переименование файлов и каталогов

Post by 2useven10 » Tue 07 Nov, 2017 10:58

John Doe, способ прямой, но слишком много ручной работы.
макрос на который я ссылался был почти готов для такой перекодировки.
Я его немного поправил там, теперь совсем готов.
1) должен работать существенно быстрее
2) должен распознавать кривой юникод(1251) и (866)
3) позволяет исправлять выделенный текст в редакторе строке редактирования диалога и комстроке.
Last edited by 2useven10 on Tue 07 Nov, 2017 11:35, edited 1 time in total.

Post Reply

Return to “Обсуждение плагинов”