Кодировка имен файлов в редакторе Far 3.0

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
Rododendron
Posts: 13
Joined: Wed 25 Oct, 2017 09:30

Кодировка имен файлов в редакторе Far 3.0

Post by Rododendron »

Пытаюсь отредактировать имена файлов в редакторе Фар, но при выходе из редактора выскакивает ошибка, что количество файлов не совпадает.
Я пользовался плагином пакетного переименования файлов NameEditor 3.7.0. Возможно не совсем туда пишу, но есть еще одна проблема.

Как на панели, так и в редакторе, текст отображается не весь.
Вот так выглядит копипаст из буфера обмена:

Code: Select all

1000 ’¥¬ ⨪ .txt
2000 ˆáâ®ç­¨ª¨.txt
2500 Ÿ§ëª.txt
А вот так это выглядит в Фаре:

Code: Select all

1000  ¥¬ ⨪ .txt
2000  áâ®ç­¨ª¨.txt
2500  §ëª.txt
В онлайн декодере текст распознался, как ISO-8859-1. Но Фар отобразить в своем редакторе это не может ни через ISO-8859-1, ни через ISO-8859-5, ни через любой другой декодер. Единственный приемлемый вариант - это декодер IBM-866, но он вставляет пробелы между буквами.

Вот скрин того, что до преобразования и после:
1.jpg
1.jpg (134.97 KiB) Viewed 5787 times
Но даже если отредактировать этот список и сохранить в кодировке СР-1251, то после закрытия редактора, как я писал в начале, плагин NameEditor ругается.

Если плагин косячит, то подскажите какой-нибудь другой со схожим функционалом. Также не понятно, что с кодировкой делать?

З.Ы. А файлы в такой кодировке у меня получились из-за перетаскивания в VmWare с Линуксом и обратно. Причем, попробовал это проделать еще раз, кодировка не изменилась. Не могу воспроизвести все манипуляции, которые я делал, к сожалению.

З.Ы.Ы. Кстати, на форуме эти символы тоже не отобразились, но если скопипастить из форума в онлайн-декодер.ком, то там они будут видны.
2useven10
Posts: 5232
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

Кодировка имен файлов в редакторе Far 3.0

Post by 2useven10 »

Скорее всего там нули (\x00) а не пробелы.
А ваш текст - это 'неправильный юникод', полученный их CP866 простым добавлением нулевого старшего байта.
На форуме обсуждалось, есть макросы для конвертации этого чуда в правильную форму.
Last edited by 2useven10 on Wed 25 Oct, 2017 11:23, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13861
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Кодировка имен файлов в редакторе Far 3.0

Post by John Doe »

Rododendron wrote: Wed 25 Oct, 2017 11:14Но Фар отобразить в своем редакторе это не может ни через ISO-8859-1, ни через ISO-8859-5, ни через любой другой декодер.
Создать файл в ISO-8859-1, вставить текст, через Shift-F8 изменить кодировку на 866.
Получим исходные имена в кириллице.
User avatar
John Doe
Бюрократ
Posts: 13861
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Кодировка имен файлов в редакторе Far 3.0

Post by John Doe »

Макросы из той темы могут не подойти, поскольку в первом сообщении темы текст действительно похож на ISO-8859-1.
И хотя визуально не отличается, в двух блоках кода текст разный.
Rododendron
Posts: 13
Joined: Wed 25 Oct, 2017 09:30

Кодировка имен файлов в редакторе Far 3.0

Post by Rododendron »

John Doe wrote: Wed 25 Oct, 2017 11:541000 ’¥¬ ⨪ .txt 2000 ˆáâ®ç­¨ª¨.txt 2500 Ÿ§ëª.txt
Вот интересно, а так работает почему-то.. Обычно достаточно через F8 указать текущую кодировку, потом через F2 перекодировать в другую.
В итоге мне пришлось открыть в редакторе список файлов, вырезать весь текст, через F2 сохранить пустой файл в кодировке ISO, вставить текст, отобразить в кодировке 866 и сохранить результат. :o
И как бы я без онлайн-кодировщика узнал кодировку?
2useven10
Posts: 5232
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

Кодировка имен файлов в редакторе Far 3.0

Post by 2useven10 »

Если заменить 1251 на 866 (GetACP на GetOEMCP) - есть шанс.
Первый макрос не оптимизирован, для больших текстов не подходит, лучше последний (с заменой из первой строки).
Last edited by 2useven10 on Wed 25 Oct, 2017 12:26, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13861
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Кодировка имен файлов в редакторе Far 3.0

Post by John Doe »

Rododendron wrote: Wed 25 Oct, 2017 12:22Обычно достаточно через F8 указать текущую кодировку, потом через F2 перекодировать в другую.
Это совсем другое действие, потому и не работало.
Rododendron wrote: Wed 25 Oct, 2017 12:22И как бы я без онлайн-кодировщика узнал кодировку?
Никак.
Rododendron
Posts: 13
Joined: Wed 25 Oct, 2017 09:30

Кодировка имен файлов в редакторе Far 3.0

Post by Rododendron »

John Doe wrote: Wed 25 Oct, 2017 11:54Создать файл в ISO-8859-1, вставить текст, через Shift-F8 изменить кодировку на 866.
Получим исходные имена в кириллице.
Мой ответ относится к этому сообщению. Не знаю, как тут подправить пост.

С кодировкой разобрался. Все-таки онлайн-кодировщик правильно определил - это ISO.
Осталось понять, как пользоваться пакетным переименованием. Это не по теме, так что просто сюда ссылку скину.
User avatar
John Doe
Бюрократ
Posts: 13861
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Кодировка имен файлов в редакторе Far 3.0

Post by John Doe »

2useven10 wrote: Wed 25 Oct, 2017 12:26 лучше последний (с заменой из первой строки).
Я вот не понял какой это "последний".
В теме последний мой, но он заточен на исправление специфически некорректного буфера, сюда не подойдёт.
Rododendron
Posts: 13
Joined: Wed 25 Oct, 2017 09:30

Кодировка имен файлов в редакторе Far 3.0

Post by Rododendron »

John Doe wrote: Wed 25 Oct, 2017 12:32Это совсем другое действие, потому и не работало.
В Фаре не очевидная работа с кодировкой. Чем отличаются эти 2 действия? Обычно предоставляют выбор пользователю из какой в какую перекодировать, а в Фаре не понятно сделано. Вот я и подумал, что если отобразить кодировке UTF, и визуально убедиться в том, что кодировка действительно UTF, то при сохранении в другой кодировке мы выполняем действие: переконвертировать из UTF в др. кодировку. И с какими-то кодировками это работает. А зачем создавать пустой файл в нужной кодировке и туда копипастить - не понимаю.
Никак.
Это странно. Почему в Фаре при выборе кодировки ISO крякозябы?
User avatar
John Doe
Бюрократ
Posts: 13861
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Кодировка имен файлов в редакторе Far 3.0

Post by John Doe »

Rododendron wrote: Wed 25 Oct, 2017 12:44В Фаре не очевидная работа с кодировкой. Чем отличаются эти 2 действия?
В FAQ есть.
Rododendron wrote: Wed 25 Oct, 2017 12:44Это странно. Почему в Фаре при выборе кодировки ISO крякозябы?
Не понял
2useven10
Posts: 5232
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

Кодировка имен файлов в редакторе Far 3.0

Post by 2useven10 »

Rododendron wrote: Wed 25 Oct, 2017 12:44Это странно. Почему в Фаре при выборе кодировки ISO крякозябы?
Потому что это не ISO.
Откуда данные попали в буфер обмена?
Можете показать содержимое клипборда (например через InsideClipboard)?
User avatar
John Doe
Бюрократ
Posts: 13861
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 74 times
Been thanked: 428 times
Contact:

Кодировка имен файлов в редакторе Far 3.0

Post by John Doe »

2useven10 wrote: Wed 25 Oct, 2017 13:00Откуда данные попали в буфер обмена?
Как я понял это имена реальных файлов.
Данные попали копированием (CtrlIns) в панелях.
Rododendron
Posts: 13
Joined: Wed 25 Oct, 2017 09:30

Кодировка имен файлов в редакторе Far 3.0

Post by Rododendron »

Нет, дело не в буфере. Можно упростить всю операцию.
Не вырезать ничего и не вставлять.
Сначала сохранить текст через Shift-F2 в кодировке ISO-8859-1. Потом через Shift-F8 поменять кодировку на 866, отобразятся русские буквы, а далее сохранить в нужной кодировке через Shift-F2. Может и правда не ISO..
Ну вот из InsideClipboard буфер, скопированный из редактора Far (тут другие фалы):

Code: Select all

00000000   3F 3F AB 69 A4 2E 70 6E 67 0A 3F 61 3F AC 69 2E    ??«i¤.png.?a?¬i.
00000010   70 6E 67 0A 3F A0 A7 3F 61 A0 20 41 72 61 62 20    png.? §?a  Arab 
00000020   4E 65 77 73 2E 70 6E 67 0A AD 3F AC 3F 3F 3F A0    News.png.­?¬??? 
00000030   69 20 3F AE AB AD A0 2E 70 6E 67 0A 3F A0 A7 3F    i ?®«­ .png.? §?
00000040   61 A0 20 3F 3F 61 20 AD AE 3F AE 61 61 3F A9 2E    a  ??a ­®?®aa?©.
00000050   70 6E 67 0A 3F 3F AD AC A0 61 3F 3F 61 2E 67 69    png.??­¬ a??a.gi
00000060   66 0A 3F 3F AD AC A0 61 3F 3F 61 2E 70 6E 67 0A    f.??­¬ a??a.png.
00000070   3F 3F A4 AE AC AE 61 61 3F 2E 70 6E 67 0A 3F 3F    ??¤®¬®aa?.png.??
00000080   A7 A0 3F 3F 61 3F AC A0 69 20 3F A0 A7 3F 61 A0    § ??a?¬ i ? §?a 
00000090   2E 70 6E 67 0A 3F 3F A7 A0 3F 3F 61 3F AC AE 3F    .png.??§ ??a?¬®?
000000A0   20 3F AE 3F AD AD AE 3F 20 AE 3F AE A7 61 3F AD     ?®?­­®? ®?®§a?­
000000B0   3F 3F 2E 70 6E 67 0A 3F 3F AD 61 61 3F A7 3F 69    ??.png.??­aa?§?i
000000C0   2E 67 69 66 0A 3F AB A0 3F AD AE 3F 20 61 3F 61    .gif.?« ?­®? a?a
000000D0   A0 3F AB 3F AD 3F 3F 20 61 A0 A7 3F 3F A4 3F 3F     ?«?­?? a §??¤??
000000E0   20 AC 3F AD 3F 61 61 3F 61 61 61 3F A0 20 AE 3F     ¬?­?aa?aaa?  ®?
000000F0   AE 61 AE AD 65 20 3F 3F 61 0A 3F A7 3F 3F 61 61    ®a®­e ??a.?§??aa
00000100   3F 69 2E 70 6E 67 0A 3F AE 3F A0 69 20 3F A0 A7    ?i.png.?®? i ? §
00000110   3F 61 A0 2E 70 6E 67 0A 3F AE 3F AE 3F 20 3F 61    ?a .png.?®?®? ?a
00000120   3F AC 69 20 2D 20 54 68 65 20 4E 65 77 20 54 69    ?¬i - The New Ti
00000130   6D 65 73 2E 70 6E 67 0A 3F AE 3F 65 3F 20 3F A7    mes.png.?®?e? ?§
00000140   3F 3F 61 61 3F 69 2E 70 6E 67 0A 3F AE 3F AD AD    ??aa?i.png.?®?­­
00000150   AE 2D 3F AE AB 3F 61 3F 63 3F 61 3F AE 3F 20 AE    ®-?®«?a?c?a?®? ®
00000160   3F AE A7 61 3F AD 3F 3F 2E 70 6E 67 0A 3F AE AC    ?®§a?­??.png.?®¬
00000170   AC 3F 61 61 A0 AD 61 65 2E 70 6E 67 0A 3F AE AC    ¬?aa ­ae.png.?®¬
00000180   AC 3F 61 61 A0 AD 61 65 2D 3F AB A0 61 61 69 2E    ¬?aa ­ae-?« aai.
00000190   70 6E 67 0A 3F AE AC 61 AE AC AE AB 69 61 3F A0    png.?®¬a®¬®«ia? 
000001A0   69 20 3F 61 A0 3F A4 A0 2E 70 6E 67 0A 3F AE 61    i ?a ?¤ .png.?®a
000001B0   3F A0 AB 61 2E 70 6E 67 0A 3F AE 61 3F AE 3F 61    ? «a.png.?®a?®?a
000001C0   3F 3F A9 20 3F AE AC 61 AE AC AE AB 3F 3F 2E 70    ??© ?®¬a®¬®«??.p
000001D0   6E 67 0A 3F AE 3F 61 61 2D A6 61 61 AD A0 AB 2E    ng.?®?aa-¦aa­ «.
000001E0   70 6E 67 0A 3F 3F 3F 2E 70 6E 67 0A 3F 3F 3F 20    png.???.png.??? 
000001F0   3F AE 3F AE 61 61 3F 2E 70 6E 67 0A 3F 3F 3F 20    ?®?®aa?.png.??? 
00000200   3F AE 3F AE 61 61 3F 20 3F 3F AE 61 AE AD A0 2E    ?®?®aa? ??®a®­ .
00000210   70 6E 67 0A 3F 3F 3F 20 3F AE 61 61 3F 3F 2E 70    png.??? ?®aa??.p
00000220   6E 67 0A 3F 3F 3F 3F 2D 3F 3F AB 3F 3F AE AC 2E    ng.????-??«??®¬.
00000230   70 6E 67 0A 3F 3F 3F 3F 2D 3F 3F 3F 3F 2E 70 6E    png.????-????.pn
00000240   67 0A 3F 61 3F 61 AC 3F AD 61 65 20 AD 3F A4 3F    g.?a?a¬?­ae ­?¤?
00000250   AB 3F 2E 67 69 66 0A 3F AD 61 3F 61 61 A0 3F 61    «?.gif.?­a?aa ?a
00000260   2E 70 6E 67 0A 3F AD 61 AE 61 AC A0 3F 3F AE AD    .png.?­a®a¬ ??®­
00000270   AD 65 A9 20 3F AE 61 61 A0 AB 20 3F 3F 20 3F AE    ­e© ?®aa « ?? ?®
00000280   3F 3F 61 3F A4 AD 3F 3F 2E 70 6E 67 0A 3F 61 61    ??a?¤­??.png.?aa
00000290   AD A0 AB 20 3F 3F AE AD 6E 3F 2E 70 6E 67 0A 00    ­ « ??®­n?.png..
Post Reply

Return to “Нужна помощь”