Пакетное перекодирование текстовых файлов

Здесь обсуждаются темы, косвенно связанные с Far.
SeMa
Posts: 157
Joined: Thu 03 Nov, 2005 12:31

Пакетное перекодирование текстовых файлов

Post by SeMa »

Подскажите, почему при конвертировании FarSave1.reg (FAR2)
iconv -f UCS-2LE -t CP1251 FarSave1.reg
или
iconv -f UTF-16LE -t CP1251 FarSave1.reg
выдается
iconv: FarSave1.reg: cannot convert
Неужели не та кодировка задана?
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by HaRT »

SeMa wrote:Подскажите, почему при конвертировании FarSave1.reg (FAR2)
[...]
Неужели не та кодировка задана?
А там часом нет символов, которые отсутствуют в CP1251? В историях диалогов, например…
Фар есть инструмент, а не нянька. © 2009 DrKnS
SeMa
Posts: 157
Joined: Thu 03 Nov, 2005 12:31

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by SeMa »

HaRT wrote:А там часом нет символов, которые отсутствуют в CP1251? В историях диалогов, например…
Сгенерил малый кусочек:
выполнил:
iconv -f UTF-16LE -t cp1251 align.reg
получил:
iconv: align.reg: cannot convert
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by HaRT »

Почему, не знаю.
Но с параметром -c всё же конвертирует. Правда, если я правильно понимаю, в этом случае те символы, которые „неправильные”, будут пропущены.

PS
Кстати, Вы уверены, что там надо именно UTF-16LE, a не UCS-2LE?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
SlashNet
Posts: 638
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 16 times
Been thanked: 16 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by SlashNet »

Скорее всего iconv ругается на BOM. (Я его удалил - все заработало)

Тот же recode преобразовал без вопросов.
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ
SeMa
Posts: 157
Joined: Thu 03 Nov, 2005 12:31

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by SeMa »

Hart wrote:Кстати, Вы уверены, что там надо именно UTF-16LE, a не UCS-2LE?
в своем начальном посте показал примеры, там есть и UCS-2LE.
SlashNet wrote:Скорее всего iconv ругается на BOM. (Я его удалил - все заработало)
как удалить?
SlashNet wrote:Тот же recode преобразовал без вопросов.
не смог снаскоку разобраться в синтаксисе :no:
recode windows-1251 FarSave1.reg вообще ничего не делает - происходит запуск без ответа с немедленным возвратом в место запуска (появляется промпт).
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by John Doe »

SeMa wrote:не смог снаскоку разобраться в синтаксисе :no:
Поиск по форуму привёл бы вас сюда.
User avatar
SlashNet
Posts: 638
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 16 times
Been thanked: 16 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by SlashNet »

SeMa wrote:как удалить?
В панелях ShiftF4 -> Выбираем кодировку 1251 или 866 -> Удаляем первые 2 байта -> Сохраняем.
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by John Doe »

Месье знает толк в извращениях ;)
В редакторе ShiftF2.
User avatar
SlashNet
Posts: 638
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 16 times
Been thanked: 16 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by SlashNet »

Ну это по старой привычке. Полгода назад этой птички не было.
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ
SeMa
Posts: 157
Joined: Thu 03 Nov, 2005 12:31

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by SeMa »

SlashNet wrote:
SeMa wrote:как удалить?
В панелях ShiftF4 -> Выбираем кодировку 1251 или 866 -> Удаляем первые 2 байта -> Сохраняем.
А если таких файлов ~100 ?
Компьютер ─ устройство, разработанное для ускорения и автоматизации человеческих ошибок
Игорь Юдинцев
Posts: 726
Joined: Sun 03 Apr, 2005 22:00
Location: Казань
Been thanked: 2 times

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by Игорь Юдинцев »

SeMa wrote:А если таких файлов ~100 ?
Пишем макрос, который давит клавиши, как описано выше, для каждого выделенного файла.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: GnuWin32, MSYS, UnxUtils, Cygwin и пр.

Post by John Doe »

Ну а если по-умному? (учитывая название темы)
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Re: Пакетное перекодирование текстовых файлов

Post by Centaur »

А по-умному CtrlG

Code: Select all

tail -c +2 "!.!" |iconv -f utf-16le -t какую-надо >куда-надо
tail, разумеется, где-то брать и ставить.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Пакетное перекодирование текстовых файлов

Post by t-rex »

iconv -c
Post Reply

Return to “Операционные системы, командные оболочки и прочее”